public override void OnShowComplete(WindowParams param_ = null) { base.OnShowComplete(param_); AuthState startState; if (windowsParameters != null) { AuthWindowParams authParams = (AuthWindowParams)windowsParameters; startState = authParams.startState; _authData = authParams.authData; } else { startState = AuthState.LOGIN; _authData = new AuthData(); } loginState.OnSignUpClick += (AuthData authData_) => { SwitchState(AuthState.SIGNUP, authData_); }; signupState.OnLogInClick += (AuthData authData_) => { SwitchState(AuthState.LOGIN, authData_); }; _stateSwitcher = new BaseStateMachine <AuthState, AuthWindowState> (); _stateSwitcher.Add(AuthState.LOGIN, loginState); _stateSwitcher.Add(AuthState.SIGNUP, signupState); SwitchState(startState, _authData); }
public override void Init() { _states = new BaseStateMachine <LevelStates, ILevelState>(); _states.Add(LevelStates.PLAY, new LevelStatePlay(this)); _states.Add(LevelStates.PAUSE, new LevelStatePause(this)); }