public IState changeState() { IState newState = null; if (timeElapsed > updateRating) { stateable.GetComponent<IMoveable> ().SetSpeed (Vector3.zero); timeElapsed = 0; newState = new Thinking(stateable); } return newState; }
private IEnumerator UpdateEnumerator() { while (enabled) { if (IsThinking) { Perception.Update(); } Memory.Update(); if (IsThinking && !IsThrow) { Thinking.Update(); } if (!IsThrow) { Steering.Update(); } SoundEmission.Update(); yield return(new WaitForSeconds(0.05f)); } }
public void Init() { if (IsThinking) { Perception = new Perception(this); } Memory = new Memory(this); if (IsThinking) { Thinking = new Thinking(this); } Steering = new Steering(this); SoundEmission = new SoundEmission(this); InitPhysicsTraits(); rb.velocity = Vector3.zero; nav.velocity = Vector3.zero; nav.ResetPath(); IsInit = true; }