1
0
Fork 0
spacetac/tac/units/factory.gd

26 lines
578 B
GDScript

@tool
extends Unit
@export var produced_unit: PackedScene:
set(val):
produced_unit = val
_check_compose()
func _compose():
$spawner.unit_type = produced_unit
$spawner.player = player
super._compose()
func _on_commands_changed(commander, commands):
if commander == player:
var nearest := Vector2(INF, INF)
var distance := INF
for command in commands:
if command.code == "delivery":
var d := position.distance_to(command.position)
if d < distance:
distance = d
nearest = command.position
if distance != INF:
$spawner.delivery = nearest