using System.Collections; using System.Collections.Generic; using UnityEngine; namespace EnemyAI { internal class ChaseBehavior : Behavior { internal override Result Run(ref Blackboard blackboard) { blackboard.navMeshAgent.isStopped = false; if (!blackboard.Night) { blackboard.navMeshAgent.isStopped = true; return Result.Failure; } if (Vector3.Distance(blackboard.PlayerPosition, blackboard.EnemyPosition) < 0.5f) { //Close enough to player return Result.Success; } //If the player moved so far that re-pathing is necessary if (Vector3.Distance(blackboard.PlayerPosition, blackboard.navMeshAgent.destination) > 0.5f) { blackboard.navMeshAgent.destination = blackboard.PlayerPosition; } return Result.Running; } } }