using System.Collections.Generic; using Enemies.States; using UnityEngine; namespace Enemies { public class PathState : IState { private readonly Enemy context; public PathState(Enemy context) { this.context = context; } public void Enter() { Debug.Log("Entering Path State"); context.currentState = Enemy.States.Path; } public void Execute() { LinkedList path = context.GameManager.GetComponent() .FindPath(context.transform.position, context.target.transform.position); Vector2 target = path.First.Value; Vector2 direction = target - (Vector2) context.transform.position; context.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg); context.transform.position += (Vector3)(direction * context.speed * Time.deltaTime); //Set looking direction } public void Exit() { } } }