feat: 添加升级面板到arena,添加全局事件监听升级选择

This commit is contained in:
luke358
2026-05-21 16:32:12 +08:00
parent 1796d9e47d
commit 1cf4eeecc6
9 changed files with 46 additions and 9 deletions
+21
View File
@@ -11,12 +11,16 @@ class_name Arena
@onready var wave_index_label: Label = %WaveIndexLabel
@onready var wave_time_label: Label = %WaveTimeLabel
@onready var spawner: Spawner = $Spawner
@onready var upgrade_panel: UpgradePanel = $GameUI/UpgradePanel
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
Global.player = player
Global.on_create_block_text.connect(_on_create_block_text)
Global.on_create_damage_text.connect(_on_create_damage_text)
Global.on_upgrade_selected.connect(_on_upgrade_selected)
spawner.start_wave()
func _process(delta: float) -> void:
if Global.game_paused:
@@ -33,6 +37,15 @@ func crteat_floating_text(unit: Node2D) -> FloatingText:
return instace
func show_upgrades() -> void:
upgrade_panel.show()
func start_new_wave() -> void:
Global.game_paused = false
Global.player.update_player_new_weave()
spawner.wave_index += 1
spawner.start_wave()
func _on_create_block_text(unit: Node2D) -> void:
var text := crteat_floating_text(unit)
text.setup("Blocked!", bloacked_color)
@@ -45,3 +58,11 @@ func _on_create_damage_text(unit: Node2D, hitbox: HitboxComponent) -> void:
text.setup(str(hitbox.damage), color)
func _on_upgrade_selected() -> void:
upgrade_panel.hide()
start_new_wave()
func _on_spawner_on_wave_completed() -> void:
if not Global.player: return
await get_tree().create_timer(1.0).timeout
show_upgrades()