semi-idle-arpg/scripts/combat_ui_scene.gd

78 lines
1.8 KiB
GDScript3
Raw Normal View History

2024-10-18 16:17:39 -06:00
# TODO: convert to just combat UI, instancing appropriate zone/area
# BUG: elements not adjusting properly when moving to second monitor
2024-10-08 20:51:11 -06:00
extends Control
var deltaCount := 0
var enemyMoveSpeed := 5.0
2024-10-18 14:30:41 -06:00
# var questComplete := false
var canContinue := false
2024-10-08 20:51:11 -06:00
var worldArea: WorldArea
var currentAreaQuest: Quest
2024-10-08 20:51:11 -06:00
func _ready() -> void:
if OS.is_debug_build():
2024-10-18 16:17:39 -06:00
%DebugMenu.show()
2024-10-20 16:44:08 -06:00
Engine.time_scale = 10.0
SignalBus.quest_generated.connect(_on_quest_generated)
SignalBus.quest_completed.connect(_on_quest_completed)
2024-10-18 14:05:31 -06:00
_create_area()
func _process(_delta: float) -> void:
2024-10-18 09:11:15 -06:00
deltaCount += 1
if canContinue:
_continue_show()
2024-10-08 20:51:11 -06:00
func _create_area() -> void:
worldArea = load("res://scenes/world_area.tscn").instantiate()
add_child(worldArea)
move_child(worldArea, 0)
2024-10-08 20:51:11 -06:00
func _on_button_test_pressed() -> void:
2024-10-18 16:17:39 -06:00
%DebugMenu/ButtonTest.text = "pass"
pass
2024-10-08 20:51:11 -06:00
func _on_button_exit_pressed() -> void:
get_tree().quit()
func _continue_show() -> void:
%UITop/ContinueButton.modulate.a += 0.05
2024-10-18 16:17:39 -06:00
func _go_next_area() -> void:
var prevAreaQuest = currentAreaQuest
# FIXME: breaks at some point?
SignalBus.area_continue_pressed.emit()
Globals.debug_print("gna signal emitted")
%QuestsContainer.remove_child(prevAreaQuest)
Globals.debug_print("gna quest removed")
prevAreaQuest.queue_free()
Globals.debug_print("gna quest queued to free")
_create_area()
Globals.debug_print("gna new area created")
func _on_quest_generated(quest) -> void:
currentAreaQuest = quest
%QuestsContainer.add_child(currentAreaQuest)
2024-10-18 14:30:41 -06:00
# TODO: move all quest stuff to quest class?
func _on_quest_completed() -> void:
if %UITop/AutoCheck.button_pressed:
_go_next_area()
else:
2024-10-18 14:30:41 -06:00
canContinue = true
func _on_continue_button_pressed() -> void:
_go_next_area()