24 lines
727 B
GDScript
24 lines
727 B
GDScript
class_name Unit extends Node2D
|
|
|
|
#region Templates
|
|
@export var stat_template: UnitStats
|
|
@export var info_template: UnitInfo
|
|
@export var allegiance_template: UnitAllegiance
|
|
#endregion
|
|
|
|
var current_stats: UnitStats
|
|
var current_info: UnitInfo
|
|
var current_allegiance: UnitAllegiance
|
|
|
|
signal unit_selected_changed(unit: Unit, selected: bool)
|
|
signal unit_allegiance_changed(unit: Unit, allegiance: UnitAllegiance)
|
|
|
|
func _ready() -> void:
|
|
current_stats = stat_template.duplicate(true)
|
|
current_info = info_template.duplicate(true)
|
|
current_allegiance = allegiance_template.duplicate(true)
|
|
unit_allegiance_changed.emit(self, current_allegiance)
|
|
|
|
func set_selected(selected: bool) -> void:
|
|
unit_selected_changed.emit(self, selected)
|