diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2025-02-12 20:05:59 +0100 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2025-02-12 20:05:59 +0100 |
commit | 218748f67a6a6b35efc4a732ad11426d0f528709 (patch) | |
tree | e58504dd758ce6525844872007221cda2a8b6926 /stage/hud_unit.gd | |
parent | f6c81b065cf4d7f1302a50f2f72cfab32204a1ec (diff) |
Diffstat (limited to 'stage/hud_unit.gd')
-rw-r--r-- | stage/hud_unit.gd | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/stage/hud_unit.gd b/stage/hud_unit.gd index bb8f8d8..060f0e5 100644 --- a/stage/hud_unit.gd +++ b/stage/hud_unit.gd @@ -1,12 +1,20 @@ extends CanvasLayer +var units_moved: Array[Unit] +var units_attacked: Array[Unit] + @onready var grid_selector: GridSelector = get_tree().get_first_node_in_group("grid_selector") func _ready() -> void: visible = false + Network.current_player_changed.connect(func(): + units_moved.clear() + units_attacked.clear() + ) + grid_selector.selected.connect(func(node: Node2D): grid_selector.process_mode = Node.PROCESS_MODE_DISABLED visible = true @@ -19,6 +27,13 @@ func _ready() -> void: $PanelContainer/VBoxContainer/Button.visible = false $PanelContainer/VBoxContainer/Button2.visible = false $PanelContainer/VBoxContainer/Button3.grab_focus() + + $PanelContainer/VBoxContainer/Button.disabled = node in units_moved + $PanelContainer/VBoxContainer/Button2.disabled = node in units_attacked + ) + + grid_selector.move_mode_confirmed.connect(func(_path: Array): + units_moved.append(grid_selector.current_entity) ) grid_selector.move_mode_exited.connect(func(): @@ -29,6 +44,9 @@ func _ready() -> void: ) grid_selector.range_select_confirmed.connect(func(grid_position: Vector2i, _entity: Node2D): + if grid_selector.range_select_current_mode == GridSelectorStateRangeSelect.Mode.Attack: + units_attacked.append(grid_selector.current_entity) + grid_selector.current_state = grid_selector.state_select grid_selector.current_state.draw(grid_position) ) @@ -44,7 +62,7 @@ func _input(event: InputEvent) -> void: if event.is_action_pressed("left_click"): for button: Button in $PanelContainer/VBoxContainer.get_children(): - if button.has_focus(): + if button.has_focus() and not button.disabled: button.pressed.emit() break |