input_prompts_center.gd 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. class_name InputPromptsCenter
  2. extends CenterContainer
  3. ## Manage the display of several inputs prompts
  4. signal prompt_vehicle(enable: bool)
  5. signal prompt_jeep(enable: bool)
  6. signal prompt_plane(enable: bool)
  7. signal prompt_walker(enable: bool)
  8. func _on_title_screen_start_game() -> void:
  9. var WalkPrompts: PromptContainer = $InputPromptsCollection/WalkPrompts
  10. var VehiclePrompts: PromptContainer = $InputPromptsCollection/VehiclePrompts
  11. var JeepPrompts: PromptContainer = $InputPromptsCollection/VehiclePrompts/JeepPrompts
  12. var PlanePrompts: PromptContainer = $InputPromptsCollection/VehiclePrompts/PlanePrompts
  13. prompt_walker.connect(WalkPrompts.switch)
  14. prompt_vehicle.connect(VehiclePrompts.switch)
  15. prompt_jeep.connect(JeepPrompts.switch)
  16. prompt_plane.connect(PlanePrompts.switch)
  17. _enable_walker_prompts()
  18. _disable_vehicle_prompts()
  19. func _on_victory_menu_visibility_changed() -> void:
  20. queue_free()
  21. func _enable_walker_prompts() -> void:
  22. prompt_walker.emit(true)
  23. func _disable_walker_prompts() -> void:
  24. prompt_walker.emit(false)
  25. func _enable_vehicle_prompts_of(vehicle: SeatedVehicle) -> void:
  26. prompt_vehicle.emit(true)
  27. if vehicle is Jeep:
  28. prompt_jeep.emit(true)
  29. if vehicle is Biplan or vehicle is TinyPlane:
  30. prompt_plane.emit(true)
  31. func _disable_vehicle_prompts() -> void:
  32. prompt_jeep.emit(false)
  33. prompt_plane.emit(false)
  34. prompt_vehicle.emit(false)
  35. func _on_main_walker_got_in(vehicle: SeatedVehicle) -> void:
  36. _disable_walker_prompts()
  37. _enable_vehicle_prompts_of(vehicle)
  38. func _on_main_walker_got_out() -> void:
  39. _enable_walker_prompts()
  40. _disable_vehicle_prompts()