private int method_0() { int num = 0; foreach (BasicWildLifeAI eai in UnityEngine.Object.FindObjectsOfType <BasicWildLifeAI>()) { TakeDamage component = eai.GetComponent <TakeDamage>(); if ((component != null) && component.alive) { NavMeshMovement movement = eai.GetComponent <NavMeshMovement>(); if (((movement == null) || (movement._agent == null)) || (movement._agent.pathStatus == NavMeshPathStatus.PathInvalid)) { int index = WildlifeManager.Data.lifeInstances.IndexOf(eai); if ((index != -1) && (index < WildlifeManager.Data.lifeInstanceCount)) { if (movement != null) { Helper.Log(string.Concat(new object[] { "WildLifeAI: Creature '", Helper.NiceName(eai.gameObject.name), " at ", eai.gameObject.transform.position, "' has been removed because creature without mesh agent." }), false); } else { Helper.Log(string.Concat(new object[] { "WildLifeAI: Creature '", Helper.NiceName(eai.gameObject.name), " at ", eai.gameObject.transform.position, "' has been removed because mesh agent have invalid path." }), false); } WildlifeManager.Data.lifeInstances.RemoveAt(index); WildlifeManager.Data.lifeInstanceCount--; WildlifeManager.Data.thinkIterator = 0; NetCull.Destroy(eai.gameObject); num++; } } } } return(num); }
// Start is called before the first frame update void Start() { dog = GameObject.FindGameObjectWithTag("PlayerDog").transform; dogNavMesh = dog.GetComponent <NavMeshMovement>(); dogAgent = dog.GetComponent <NavMeshAgent>(); dogfollow = true; }
public override void CopyFrom(ITarget other) { var navTarget = other as NavTarget; if (navTarget == null) { return; } this.movement = navTarget.movement; }
private int method_0() { int num = 0; BasicWildLifeAI[] array = UnityEngine.Object.FindObjectsOfType <BasicWildLifeAI>(); BasicWildLifeAI[] array2 = array; for (int i = 0; i < array2.Length; i++) { BasicWildLifeAI basicWildLifeAI = array2[i]; TakeDamage component = basicWildLifeAI.GetComponent <TakeDamage>(); if (!(component == null) && component.alive) { NavMeshMovement component2 = basicWildLifeAI.GetComponent <NavMeshMovement>(); if (component2 == null || component2._agent == null || component2._agent.pathStatus == NavMeshPathStatus.PathInvalid) { int num2 = WildlifeManager.Data.lifeInstances.IndexOf(basicWildLifeAI); if (num2 != -1 && num2 < WildlifeManager.Data.lifeInstanceCount) { if (component2 != null) { Helper.Log(string.Concat(new object[] { "WildLifeAI: Creature '", Helper.NiceName(basicWildLifeAI.gameObject.name), " at ", basicWildLifeAI.gameObject.transform.position, "' has been removed because creature without mesh agent." }), false); } else { Helper.Log(string.Concat(new object[] { "WildLifeAI: Creature '", Helper.NiceName(basicWildLifeAI.gameObject.name), " at ", basicWildLifeAI.gameObject.transform.position, "' has been removed because mesh agent have invalid path." }), false); } WildlifeManager.Data.lifeInstances.RemoveAt(num2); WildlifeManager.Data.lifeInstanceCount--; WildlifeManager.Data.thinkIterator = 0; NetCull.Destroy(basicWildLifeAI.gameObject); num++; } } } } return(num); }
/*void OnTriggerStay(Collider other){ * if (other.tag=="PlayerDog"){ * Debug.Log("playerdogtrigger"); * NavMeshAgent a = other.GetComponent<NavMeshAgent>(); * if (a) agent = a; * } * } * void OnTriggerExit(Collider other){ * if (other.tag=="PlayerDog"){ * if (agent == other.GetComponent<NavMeshAgent>()){ * agent = null; * } * } * }*/ public void SetAgent(bool active) { if (!triggered) { triggered = true; } else if (active == activated) { return; } activated = active; //Debug.Log("SetAgent: "+name); /*if (active){ * NavMeshLinkPoints s = GetComponentInChildren<NavMeshLinkPoints>(); * if (s) { * s.AlighPoints(); * } * }*/ NavMeshAgent agent = GameObject.FindGameObjectWithTag("PlayerDog").GetComponent <NavMeshAgent>(); if (agent) { if (!col) { return; } if (col.bounds.Contains(agent.transform.position)) { //Debug.Log("disabler has agent"); //NavMeshSurface s = GetComponent<NavMeshSurface>(); //s.BuildNavMesh(); agent.enabled = active; NavMeshMovement movement = agent.GetComponent <NavMeshMovement>(); if (movement) { movement.enabled = active; } } } }
public NavTarget(NavMeshMovement movement) { this.movement = movement; }
void Start() { movementScript = GetComponentInChildren <NavMeshMovement>(); }
public void QueueResolve(NavMeshMovement movement) { this.pathQueue.Enqueue(movement); }