protected void Setup(TState startState) { if (startState != null) { CurrentStateProperty = new ExtendedReactiveProperty <TState>(startState); } else { CurrentStateProperty = new ExtendedReactiveProperty <TState>(); } disposables.Add( //If current state is changed, fire on exit event for last state and onEnter event for current state CurrentStateProperty.Subscribe(s => { ExecuteState(s); }) ); }
set => SetValue(CurrentStateProperty, value);