Branch for signal refactoring, singleton bus.
This commit is contained in:
parent
ab8643d093
commit
d64504189a
10 changed files with 83 additions and 8 deletions
14
player.gd
14
player.gd
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue