Basic mouse interface
This commit is contained in:
parent
2099f0b1ff
commit
b0583bd97f
8 changed files with 177 additions and 4 deletions
47
scenes/scripts/drone_manager.gd
Normal file
47
scenes/scripts/drone_manager.gd
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
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")
|
||||
Loading…
Add table
Add a link
Reference in a new issue