pollen-not-included/scenes/scripts/drone_manager.gd
2024-05-02 13:54:43 +01:00

47 lines
1.3 KiB
GDScript

extends Node2D
var spawning_drone : bool = false
var spawning_type : String = ""
@onready var drone_controls = %DroneControls
func _ready() -> void:
Log.pr("Drone Manager Ready...")
## Function to detect right click event
func _input(event) -> void:
if spawning_drone:
if (event is InputEventMouseButton && event.button_index == MOUSE_BUTTON_RIGHT && event.pressed):
Log.pr("Cancelling placement of drone")
cancel_spawning()
if (event is InputEventMouseButton && event.button_index == MOUSE_BUTTON_LEFT && event.pressed):
spawn_drone(spawning_type)
cancel_spawning()
func spawn_drone(drone_type : String) -> void:
Log.pr("This function will put a " + drone_type + " drone in the world")
func place_drone(drone_type : String) -> void:
if !spawning_drone:
drone_controls.disable_buttons()
Log.pr("Placing " + drone_type + "...")
spawning_drone = true
spawning_type = drone_type
func cancel_spawning() -> void:
drone_controls.reset_button_focus()
drone_controls.enable_buttons()
spawning_drone = false
spawning_type = ""
func _on_spawn_director_pressed() -> void:
place_drone("director")
func _on_spawn_collector_pressed() -> void:
place_drone("collector")
func _on_spawn_distractor_pressed() -> void:
place_drone("distractor")
func _on_spawn_dancer_pressed() -> void:
place_drone("dancer")