Example damage label
This commit is contained in:
@@ -1,18 +1,25 @@
|
||||
class_name BattleFighterScene extends Node3D
|
||||
|
||||
@export var battlePosition:BattleSingleton.BattlePosition = BattleSingleton.BattlePosition.LEFT_MIDDLE_FRONT
|
||||
@export var damageLabels:Node3D
|
||||
@export var damageLabelPreset:PackedScene
|
||||
|
||||
var currentFighter:BattleFighter = null
|
||||
|
||||
func _getFighter() -> BattleFighter:
|
||||
return BATTLE.getFighterAtPosition(self.battlePosition)
|
||||
|
||||
func _updateFighter() -> void:
|
||||
var fighter = _getFighter()
|
||||
if currentFighter != null:
|
||||
currentFighter.healthChanged.disconnect(onDamageTaken)
|
||||
|
||||
if fighter == null:
|
||||
currentFighter = _getFighter()
|
||||
if currentFighter == null:
|
||||
self.visible = false
|
||||
return
|
||||
|
||||
# Set up the visual representation of the fighter here
|
||||
currentFighter.healthChanged.connect(onDamageTaken)
|
||||
self.visible = true
|
||||
|
||||
func _enter_tree() -> void:
|
||||
@@ -24,3 +31,7 @@ func _exit_tree() -> void:
|
||||
|
||||
func onFightersChanged() -> void:
|
||||
_updateFighter()
|
||||
|
||||
func onDamageTaken(amount:int, crit:bool) -> void:
|
||||
var damageLabel = damageLabelPreset.instantiate() as Label3D
|
||||
damageLabel.showDamage(damageLabels, amount, crit)
|
||||
|
||||
Reference in New Issue
Block a user