using System.Collections; using System.Collections.Generic; using UnityEngine; public class AI_Worker : MonoBehaviour { public string ID; public float timer = 0f; public float workTime = 20f; public bool isWorkOver = false; public bool isDie = false; public bool isCheck = false; public int PointIdenx = 0; private int tempIndex=0; public Animator animator; public Transform[] movePoints; //当前移动目标点 public Vector3 targerPos; private void Start() { animator = GetComponent(); movePoints = AISys.Instance._movePoints; workTime = Random.Range(3, 10); AISys.Instance.pointIsUse[PointIdenx] = true; } private void Update() { if (timer <= workTime&&isWorkOver==false&&!isDie) { timer += Time.deltaTime; } if(timer >= workTime && !isDie) { workTime = Random.Range(25, 50); isWorkOver = true; timer = 0; if (AISys.Instance.pointIsUse[PointIdenx] == true) { for (int i = 0; i < AISys.Instance.pointIsUse.Length; i++) { if (AISys.Instance.pointIsUse[i] == false) { AISys.Instance.pointIsUse[PointIdenx] = false; PointIdenx = i; targerPos = movePoints[PointIdenx].position + new Vector3((Random.insideUnitCircle * 3f).x, 0, (Random.insideUnitCircle * 3f).y); AISys.Instance.pointIsUse[PointIdenx] = true; break; } } } } } public void Accident() { isWorkOver = true; targerPos = AISys.Instance.Pass1AccidentPoint.position; isDie = true; transform.position = new Vector3(-8.78f,6.6f,-125f); Transform kuang = transform.Find("FangKuang"); if (kuang != null) { kuang.GetComponent().material.color = Color.red; kuang.localEulerAngles = new Vector3(90, 0, 0); kuang.localPosition = new Vector3(0, 0, 0); } } }