public virtual void StartAgent()
 {
     if (agent != null && agentState != GamePlayerNavMeshAgentState.PURSUE)
     {
         agentState = GamePlayerNavMeshAgentState.PURSUE;
         agent.StartAgent();
         NavigateToDestination();
     }
 }
 public virtual void StartAgent()
 {
     if (agent != null)
     {
         agent.Resume();
         agentState = GamePlayerNavMeshAgentState.PURSUE;
         NavigateToDestination();
     }
 }
 public virtual void StopAgent()
 {
     if (agent != null)
     {
         agentState        = GamePlayerNavMeshAgentState.STOP;
         agent.destination = gameObject.transform.position;
         agent.Stop(true);
     }
 }
 public virtual void StopAgent()
 {
     if (agent != null && agentState != GamePlayerNavMeshAgentState.STOP)
     {
         if (agent.enabled)
         {
             agent.destination = gameObject.transform.position;
             agent.StopAgent();
             agentState = GamePlayerNavMeshAgentState.STOP;
         }
     }
 }