TowerDefenseGame/Assets/Scripts/Runtime/AI/StateMachines/EnemyChaseState.cs
Nico 4be7c0df38 Added EnemyDamagedState
Something broke -- added gaurd
2025-06-29 17:24:18 -07:00

34 lines
866 B
C#

using AI.Base;
using System;
using UnityEngine;
[CreateAssetMenu(menuName = "AI/Enemy/EnemyChaseState")]
public class EnemyChaseState : StateNode {
public float Speed = 3f;
private Transform Player;
override public StateNode InitializeCopy(Transform ownerTransform) {
var copy = ScriptableObject.CreateInstance(this.GetType()) as EnemyChaseState;
copy.Owner = ownerTransform;
copy.Speed = Speed;
return copy;
}
override public void Start() {
Player = GameObject.FindGameObjectWithTag("Player").transform;
Debug.Log("Entering Chase");
}
override public void Tick() {
if (Owner != null && Player != null) {
Vector2 dir = (Player.position - Owner.position).normalized;
Owner.position += (Vector3)dir * Speed * Time.deltaTime;
}
}
override public void Stop() {
Debug.Log("Exiting Chase");
}
}