public void changeMode(WandererMode newMode) { if (newMode == mode) { return; } // For now if (mode == WandererMode.Wandering) { return; //throw new Exception("Cannot stop wandering early"); } if (newMode != WandererMode.Wandering) { GetComponent <AICharacterControl>().target = null; } switch (newMode) { case WandererMode.Wandering: StartCoroutine(wanderForAWhile()); break; case WandererMode.Targeting: break; case WandererMode.Searching: break; case WandererMode.Throwing: break; case WandererMode.Disabled: break; default: throw new ArgumentOutOfRangeException("newMode", newMode, null); } //Debug.LogFormat("Changing mode to {0}", newMode); mode = newMode; }
void Start() { being = GetComponent <Being>(); mode = staringMode; }
private IEnumerator wanderForAWhile(int maxTime = 5) { yield return(new WaitForSeconds(Random.Range(0, maxTime))); mode = WandererMode.Searching; }