TowerGame/scripts/units/enemy.gd

40 lines
970 B
GDScript3
Raw Normal View History

2025-04-26 16:02:13 +01:00
extends Unit
class_name Enemy
var sighted: bool = true:
set(val):
sighted = val
visible = sighted
2025-06-10 13:34:26 +01:00
var target_citizen: Citizen = null
func _ready() -> void:
sighted = false
2025-06-10 13:34:26 +01:00
#go_to_destination(Vector3(17,1,15))
2025-06-10 13:34:26 +01:00
func _process(delta: float) -> void:
super(delta)
if target_citizen == null:
target_citizen = get_tree().get_nodes_in_group("Citizens").pick_random() as Citizen
if target_citizen != null:
var chase_action: UnitAction.ChaseAction = UnitAction.ChaseAction.new()
chase_action.unit = self
chase_action.target = target_citizen
action = chase_action
var status: Unit.TaskStatus = await wait_for_task_update()
if status != TaskStatus.DONE:
target_citizen = null
return
var attack_action: UnitAction.AttackUnitAction = UnitAction.AttackUnitAction.new()
attack_action.unit = self
attack_action.victim = target_citizen
action = attack_action
status = await wait_for_task_update()
target_citizen = null