public IEnumerator StartFSM() { mem = gameObject.GetComponent<GregarianSpacialMemory> (); state = GregarianStates.Wandering; agent = gameObject.GetComponent<NavMeshAgent> (); while (true) yield return StartCoroutine (state.ToString ()); }
IEnumerator ChasingFruit() { agent.angularSpeed = 3; agent.speed = 3f; hunger += 0.5f; state = GregarianStates.Evaluate; yield return 0; }
IEnumerator ChasingFruit() { agent.angularSpeed = 3; agent.speed = 3f; hunger += 0.5f; state = GregarianStates.Evaluate; yield return(0); }
IEnumerator Flee() { agent.angularSpeed = 5; agent.speed = 5f; hunger += 3f; state = GregarianStates.Evaluate; yield return 0; }
IEnumerator Flee() { agent.angularSpeed = 5; agent.speed = 5f; hunger += 3f; state = GregarianStates.Evaluate; yield return(0); }
IEnumerator Wandering() { agent.angularSpeed = 1; agent.speed = 1.5f; hunger += 0.1f; state = GregarianStates.Evaluate; yield return(0); }
public IEnumerator StartFSM() { mem = gameObject.GetComponent <GregarianSpacialMemory> (); state = GregarianStates.Wandering; agent = gameObject.GetComponent <NavMeshAgent> (); while (true) { yield return(StartCoroutine(state.ToString())); } }
IEnumerator Evaluate() { if (hunger > 10 * hungerBoundary) { Debug.Log("Me muero de hambre"); DestroyObject(this.gameObject); } else if (mem.areEnemiesClose()) { state = GregarianStates.Flee; } else if (amIHungry() && mem.doIknowWhereFruitIs()) { state = GregarianStates.ChasingFruit; } else { state = GregarianStates.Wandering; } yield return 0; }
IEnumerator Evaluate() { if (hunger > 10 * hungerBoundary) { Debug.Log("Me muero de hambre"); DestroyObject(this.gameObject); } else if (mem.areEnemiesClose()) { state = GregarianStates.Flee; } else if (amIHungry() && mem.doIknowWhereFruitIs()) { state = GregarianStates.ChasingFruit; } else { state = GregarianStates.Wandering; } yield return(0); }
IEnumerator Wandering() { agent.angularSpeed = 1; agent.speed = 1.5f; hunger += 0.1f; state = GregarianStates.Evaluate; yield return 0; }