signal bus and entity invoking them
This commit is contained in:
parent
88c56f8aed
commit
93e7d28de4
4 changed files with 37 additions and 0 deletions
|
@ -8,6 +8,8 @@ class_name Entity
|
|||
## Current amount of health points of an entity. Cannot be below 0 or [code]max_hp[/code]
|
||||
var hp : float = max_hp
|
||||
|
||||
func _ready() -> void:
|
||||
GameSignalBus.entity_spawned.emit(self)
|
||||
|
||||
## Emitted when damage is taken
|
||||
signal damage_taken(context : DamageTakenContext)
|
||||
|
@ -31,6 +33,7 @@ func deal_damage(amount : float, source : Entity):
|
|||
delta_context.target = self
|
||||
delta_context.delta = -amount
|
||||
hp_changed.emit(delta_context)
|
||||
GameSignalBus.entity_hp_changed.emit(delta_context)
|
||||
|
||||
hp -= amount
|
||||
if hp <= 0:
|
||||
|
@ -51,6 +54,7 @@ func heal(amount : float, source : Entity):
|
|||
delta_context.target = self
|
||||
delta_context.delta = amount
|
||||
hp_changed.emit(delta_context)
|
||||
GameSignalBus.entity_hp_changed.emit(delta_context)
|
||||
|
||||
hp += amount
|
||||
if hp > max_hp:
|
||||
|
@ -63,6 +67,7 @@ func kill(source : Entity):
|
|||
context.source = source
|
||||
context.target = self
|
||||
killed.emit(context)
|
||||
GameSignalBus.entity_killed.emit(context)
|
||||
|
||||
deconstruct()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue