From 63d2a59042fb9d90a586ad85d8364de7c38aea8e Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Wed, 6 Nov 2024 22:35:04 +0100 Subject: next commit --- Game/Selection/SelectionManager.gd | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'Game/Selection/SelectionManager.gd') diff --git a/Game/Selection/SelectionManager.gd b/Game/Selection/SelectionManager.gd index c58dc69..49cb319 100644 --- a/Game/Selection/SelectionManager.gd +++ b/Game/Selection/SelectionManager.gd @@ -2,5 +2,29 @@ class_name SelectionManager extends Node +var selection_groups := {} + +signal selected_group_changed +var selected_group := "": + set(value): + selected_group = value + selected_group_changed.emit() + + func _ready() -> void: pass + + +func change_selection_group_id(towers: Array[Tower], previous_id: String, new_id: String) -> void: + if new_id not in selection_groups: + selection_groups[new_id] = [] + + selection_groups[new_id].append_array(towers) + + for tower in towers: + selection_groups[previous_id].erase(tower) + + if selection_groups[previous_id].is_empty(): + selection_groups.erase(previous_id) + if previous_id == selected_group: + selected_group = new_id -- cgit v1.2.3