feat(ui): HUD visibility groups — gameplay vs implant layers (D-170)
New HudGroups autoload manages show/hide of related HUD elements as groups. Exclusive groups (gameplay, implant) are mutually exclusive — opening the star map hides stance indicator, minimap, interaction prompts, etc. Closing it restores them. Gameplay nodes registered in main.gd _ready(). Star map registers as implant group and uses toggle_group() instead of direct visibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -118,6 +118,9 @@ func _ready() -> void:
|
||||
_info_panel.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
add_child(_info_panel)
|
||||
|
||||
# D-170: Register with HUD visibility groups
|
||||
HudGroups.register(self, "implant")
|
||||
|
||||
_load_data()
|
||||
if _data_loaded:
|
||||
_compute_layout()
|
||||
@@ -140,9 +143,10 @@ func set_insert_active(active: bool) -> void:
|
||||
visible = false
|
||||
|
||||
|
||||
## Toggle visibility (e.g., from a keybind or button).
|
||||
## Toggle visibility via HUD group system (D-170).
|
||||
## Shows implant group (hides gameplay) or vice versa.
|
||||
func toggle_visible() -> void:
|
||||
visible = not visible
|
||||
HudGroups.toggle_group("implant")
|
||||
if visible:
|
||||
_dirty = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user