using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class enemyAI : MonoBehaviour
{
public NavMeshAgent ai;
public List <Transform> destinations;
public Animator aiAnim;
public float walkSpeed, chaseSpeed, minIdleTime, maxIdleTime, idleTime;
public bool walking, chasing;
public Transform player;
Transform currentDest;
Vector3 dest;
int randNum randNum2;
public int destinationsAmount;
void Start()
{
walking = true;
randNum = Random.Range(0, destinationsAmount);
currentDest = destinations[randNum];
}
void Update()
{
if(walking == true)
{
dest = currentDest.position;
ai.destination = dest;
ai.speed = walkSpeed;
if(ai.remaingDistance <= ai.stoppingDistance)
{
randNum2 = Random.Range(0, 2);
if(randNum2 == 0)
{
randNum = Random.Range(0, destinationsAmount);
currentDest = destinations[randNum];
}
if(randNum2 == 1)
{
aiAnim.ResetTrigger("walk");
aiAnim.SetTrigger("idle");
ai.speed = 0;
StopCoroutine("stayIdle");
StartCoroutine("stayIdle");
walking = false;
}
}
}
}
IEnumerator stayIdle()
{
idleTime = Random.Range(minIdleTime, maxIdleTime);
yield return new WaitForSeconds(idleTime);
walking = true;
randNum = Random.Range(0, destinationsAmount);
currentDest = destinations[randNum];
aiAnim.ResetTrigger("idle");
aiAnim.SetTrigger("walk");
}
}