Set up new signals in EventBus; preparing to restructure game start

code.
This commit is contained in:
Henry 2025-12-20 09:15:59 +00:00
parent 7ef6076eda
commit dec3cbe595
9 changed files with 34 additions and 14 deletions

View file

@ -14,6 +14,7 @@ var shield: int = max_shield:
var can_shoot = true
var shader_active = false
var clamp_shield = clamp(shield, 0, max_shield)
@onready var screensize = get_viewport_rect().size
@onready var explosion = $Explosion
@ -27,8 +28,10 @@ func start():
set_process(true)
$Ship.show()
position = Vector2(screensize.x / 2, screensize.y - 64)
shield = max_shield
$GunCooldown.wait_time = cooldown
var old_value = 0
set_shield(max_shield)
EventBus.shield_changed.emit(max_shield, old_value, shield)
func _process(delta):
var input = Input.get_vector("left", "right", "up", "down")
@ -59,17 +62,17 @@ func shoot():
tween.tween_property($Ship, "position:y", 0, 0.05)
func set_shield(value: int):
var old_value: int = shield
shield = min(max_shield, value)
var old_value = shield
shield = clamp(value, 0, max_shield)
EventBus.shield_changed.emit(max_shield, old_value, shield)
print("Shield set to:", shield)
if shield <= 0:
EventBus.player_died.emit()
set_process(false)
$Ship.hide()
$Explosion.show()
$Explosion/AnimationPlayer.play("explosion-one-shot")
await $Explosion/AnimationPlayer.animation_finished
EventBus.player_died.emit()
func _on_gun_cooldown_timeout() -> void:
can_shoot = true