/// <summary> /// Change State /// </summary> /// <param name="newState">the target state</param> /// <param name="transition">the transition method</param> /// <param name="enterDuration">the enter duration</param> /// <param name="exitDuration">the exit durtation</param> public void ChangeState(T newState, StateTransition transition, float enterDuration, float exitDuration) { _initNotifyer.DoOnCompleted(() => { ChangeStateInternal(newState, transition, enterDuration, exitDuration); }).Subscribe(); }