Branch for signal refactoring, singleton bus.

This commit is contained in:
Henry 2025-12-14 20:32:23 +00:00
parent ab8643d093
commit d64504189a
10 changed files with 83 additions and 8 deletions

View file

@ -1,14 +1,17 @@
extends Area2D
signal died
signal shield_changed
signal shield_changed(max_value: int, old_value: int, new_value: int)
signal damage_taken
signal shield_damage
signal shield_ui
var shader_active = false
@onready var screensize = get_viewport_rect().size
@export var max_shield = 10
var shield = max_shield:
var shield: int = max_shield:
set = set_shield
@export var speed = 150
@export var cooldown = 0.25
@ -25,9 +28,11 @@ func start():
position = Vector2(screensize.x / 2, screensize.y - 64)
$GunCooldown.wait_time = cooldown
func set_shield(value):
func set_shield(value: int):
var old_value: int = shield
shield = min(max_shield, value)
shield_changed.emit(max_shield, shield)
shield_changed.emit(max_shield, old_value, shield)
shield_damage.emit()
if shield <= 0:
set_process(false)
$Ship.hide()
@ -77,6 +82,7 @@ func _on_area_entered(area):
func _on_damage_taken() -> void:
emit_signal("shield_ui")
shader_active = true
$Ship.material.set_shader_parameter("toggle", 1.0)
await get_tree().create_timer(1).timeout