31 lines
914 B
GDScript
31 lines
914 B
GDScript
extends Node2D
|
|
|
|
@export var damage_taken: float
|
|
@export var player_damage: bool = true
|
|
@export var critical_damage: bool = false
|
|
|
|
@onready var animation_player: AnimationPlayer = $Control/AnimationPlayer
|
|
@onready var label: Label = $Control/Label
|
|
|
|
const COLOR_CRIT = Color.GOLD
|
|
const COLOR_REGULAR = Color.WHITE
|
|
const COLOR_PLAYER = Color.CRIMSON
|
|
const COLOR_HEAL = Color.CHARTREUSE
|
|
|
|
|
|
func _ready() -> void:
|
|
if !player_damage:
|
|
label.add_theme_color_override("font_color", COLOR_PLAYER)
|
|
if critical_damage:
|
|
label.add_theme_color_override("font_color", COLOR_CRIT)
|
|
if damage_taken < 0:
|
|
label.add_theme_color_override("font_color", COLOR_HEAL)
|
|
label.add_theme_font_size_override("font_size", 8)
|
|
label.text = "%0.0f" % absf(damage_taken)
|
|
animation_player.play("normal_damage")
|
|
animation_player.animation_finished.connect(_on_animation_finished)
|
|
|
|
|
|
func _on_animation_finished(_name: String):
|
|
queue_free()
|