Beast & alert functions in debug menu

This commit is contained in:
Rob Kelly 2025-09-07 00:52:29 -06:00
parent 9c26eb24d0
commit 35a03797f7
2 changed files with 64 additions and 0 deletions

View File

@ -11,6 +11,8 @@ var _track_list_dirty := false
@onready var toothbrush: CheckButton = %Toothbrush
@onready var stickers: CheckButton = %Stickers
@onready var alert_level_label: Label = %AlertLevelLabel
@onready var tracks_collected_list: VBoxContainer = %TracksCollectedList
@onready var append_target: Panel = %AppendTarget
@ -26,6 +28,7 @@ func _ready() -> void:
toothbrush.set_pressed_no_signal(World.instance.manager.toothbrush_unlocked)
stickers.set_pressed_no_signal(World.instance.manager.stickers_unlocked)
_build_track_list()
_update_alert_level()
func _build_track_list() -> void:
@ -107,7 +110,31 @@ func _update_track_list() -> void:
World.instance.manager.mp3_collection = track_list
func _update_alert_level() -> void:
if World.instance and World.instance.manager:
alert_level_label.text = str(World.instance.manager.alert_level)
func unlock_doors() -> void:
for node: Node in get_tree().get_nodes_in_group("Bulkheads"):
if node.has_method("open"):
node.call("open")
func trigger_alarm() -> void:
World.instance.manager.raise_alert(1)
_update_alert_level.call_deferred()
func reset_alert_level() -> void:
World.instance.manager.clear_alert()
_update_alert_level.call_deferred()
func spawn_beast() -> void:
World.instance.spook_manager.spawn_beast_near_player()
func kill_beasts() -> void:
for c: Node in get_tree().get_nodes_in_group(GrunkBeast.GROUP):
c.queue_free()

View File

@ -172,6 +172,39 @@ alignment = 2
layout_mode = 2
text = "Advance to next milestone"
[node name="HBoxContainer7" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
alignment = 2
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"]
layout_mode = 2
text = "Current alert level: "
[node name="AlertLevelLabel" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"]
unique_name_in_owner = true
layout_mode = 2
text = "0"
[node name="TriggerAlarm" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"]
layout_mode = 2
text = "Trigger alarm"
[node name="ResetAlertLevel" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7"]
layout_mode = 2
text = "Reset alert level"
[node name="HBoxContainer8" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
alignment = 2
[node name="SpawnBeast" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8"]
layout_mode = 2
text = "Spawn grunkbeast"
[node name="KillBeasts" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8"]
layout_mode = 2
text = "Despawn all grunkbeasts"
[node name="HBoxContainer6" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 16
@ -342,6 +375,10 @@ preserve_on_drag = true
[connection signal="toggled" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer4/Toothbrush" to="." method="set_toothbrush_unlocked"]
[connection signal="toggled" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer4/Stickers" to="." method="set_stickers_unlocked"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer5/UnlockNextMilestone" to="." method="unlock_next_milestone"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7/TriggerAlarm" to="." method="trigger_alarm"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7/ResetAlertLevel" to="." method="reset_alert_level"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8/SpawnBeast" to="." method="spawn_beast"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8/KillBeasts" to="." method="kill_beasts"]
[connection signal="child_entered_tree" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed" unbinds=1]
[connection signal="child_exiting_tree" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed" unbinds=1]
[connection signal="child_order_changed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed"]