32 lines
750 B
GDScript
32 lines
750 B
GDScript
extends Node2D
|
|
class_name BattleField
|
|
|
|
@export var commands: Node
|
|
|
|
var _ticker1 := 0.0
|
|
|
|
func _ready():
|
|
if not commands:
|
|
push_warning("No commands manager set to battlefield")
|
|
|
|
func _physics_process(delta):
|
|
_ticker1 += delta
|
|
if _ticker1 > 1.0:
|
|
_ticker1 -= 1.0
|
|
ticker("ticker1")
|
|
|
|
func ticker(group_name: String):
|
|
get_tree().call_group_flags(SceneTree.GROUP_CALL_DEFERRED, group_name, "tick")
|
|
|
|
func _on_commands_changed(comms):
|
|
get_tree().call_group("unit", "_on_commands_changed", comms)
|
|
|
|
func _on_child_entered_tree(node):
|
|
if node is Unit:
|
|
node.promoted.connect(_send_commands_to_unit.bind(node))
|
|
_send_commands_to_unit(node)
|
|
|
|
func _send_commands_to_unit(unit: Unit):
|
|
if commands:
|
|
unit._on_commands_changed(commands.get_active())
|