public Transform[] path = new Transform[4];
// Transform[] path;
NavMeshAgent nav;
int index = 0;
float timer = 0;
float waitTimer = 2;
Transform player;
float timer1 = 2f;
Animator an;
public Transform pos;
Transform button;
void Start() {
button = Resources.Load<Transform>("Prefabs/Sphere");
an = GetComponent<Animator>();
player = GameObject.Find("player").transform;
nav = GetComponent<NavMeshAgent>();
nav.destination = path[index].position;
}
void Update()
{
Patrol();
CeJu();
}
void Patrol()
{
nav.stoppingDistance = 0.5f;
if (nav.remainingDistance < 0.5f)//(距离终点)剩余移动距离
{
an.SetFloat("Walk", 0);
timer += Time.deltaTime;
if (timer >= waitTimer)
{
index++;
index %= 4;
timer = 0;
}
nav.destination = path[index].position;
}
else
{
an.SetFloat("Walk", 1);
}
}
void CeJu()
{
float dis = Vector3.Distance(transform.position, player .position );
if (3 <=dis && dis < 10)
{
an.SetFloat("Walk", 1);
nav.destination = player.position;
transform .LookAt(player.transform.position);
}
else if (dis<3)
{
nav.stoppingDistance = 3f;
transform.LookAt(player.transform.position);
an.SetFloat("Walk", 0);
timer1 -= Time.deltaTime;
if (timer1 <= 0)
{
Instantiate(button, pos.position, Quaternion.identity);
an.SetTrigger("Shoot");
timer1 = 2f;
}
}
else
{
Patrol();
}
}