1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Statemachine/DamageLabel.gd
T

27 lines
754 B
GDScript

extends Node2D
class_name DamageLabel
@export var damage: float = 0
@export var crit: bool = false
@onready var label: Label = $"%label"
@onready var animator: AnimationPlayer = $"%animator"
func _ready():
if damage == 0:
label.text = "MISS"
else:
label.text = str(round(damage)) + ("!!!" if crit else "")
animator.play("show")
await animator.animation_finished
queue_free()
static func create(spawnDamage: float, spawnCrit: bool, spawnPosition: Vector2, addToWorld: bool = true) -> DamageLabel:
var instance = preload("res://components/UI/DamageLabel.tscn").instantiate()
instance.damage = spawnDamage
instance.crit = spawnCrit
instance.position = spawnPosition
if addToWorld:
WorldTool.rootNode.add_child(instance)
return instance