void SetState(WizzrobeRed_State value) { if (value.state == _state.state) { return; } _state = value; _state.activateState_Action(); float v = _state.durationVariance; float duration = _state.duration + UnityEngine.Random.Range(-v, v); StartCoroutine(WaitThenSetState(GetNextState(), duration)); }
IEnumerator WaitThenSetState(WizzrobeRed_State state, float delay) { yield return(new WaitForSeconds(delay)); SetState(state); }