private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.SpawnPlayer: SpawnPlayer(); CamShake.instance.bounds.m_BoundingShape2D = levelBounds; break; case InitStates.RespawnPlayer: RespawnPlayer(); break; case InitStates.PlayerRespawned: if (!resetLevelOnRespawn) { BeginNewGameState(GameStates.MainPowerOff); } else { BeginNewGameState(GameStates.MainPowerOn); } MusicManager.instance.StopCurrentSong(); break; case InitStates.PlayerSceneLoaded: playerTransform = FindObjectOfType <PlayerBehaviour>().transform; break; } }
/// <summary> /// Поменять состояние. /// </summary> /// <param name="bot"></param> /// <param name="state"></param> /// <param name="hop"></param> public static async void ChangeCurrentStateAndMakeHop(TelegramBotClient bot, long chatId, State state, Hop hop) { if (bot == null || hop == null || string.IsNullOrEmpty(hop.NextStateName)) { return; } //Отправить AnswerOnSuccess. if (state != null && string.IsNullOrEmpty(state.AnswerOnSuccess) == false) { await bot.SendTextMessageAsync(chatId, state.AnswerOnSuccess); } //Поменяем текущее состояние ChangeCurrentChatState(chatId, hop.Type, hop.NextStateName); //Когда состояние в базе поменяли, тогда нужно выслать приветствие в новом состоянии и клавиатуру нового состояния. State st = InitStates.GetStateByName(hop.NextStateName); //Формируем приветственное сообщение (не забываем подключить клавиатуру) OutboxMessage outMes = new OutboxMessage(st.IntroductionString); if (st.ReplyKeyboard != null) { outMes.ReplyMarkup = st.ReplyKeyboard; } else { outMes.ReplyMarkup = new ReplyKeyboardRemove(); } bot.SendOutboxMessage(chatId, outMes); }
/// <summary> /// Метод получения текущего состояния чата по ChatId /// </summary> /// <param name="chatId"></param> /// <returns></returns> public static State GetCurrentUserState(long chatId) { if (InitStates.BotStates?.Count == 0) { return(null); } using (BotDbContext db = new BotDbContext(HelperDataBase.DB_OPTIONS)) { //Выбираем состояние чата. ChatState chatState = (from state in db.ChatState where state.ChatId == chatId select state).FirstOrDefault(); string stateString = chatState.State; //Если состояние чата равно null if (string.IsNullOrEmpty(stateString?.Trim(' ')) == true) { //То записать в пустую ячейку состояния имя первого состояния. //ToDo Пока берем просто первый элемент из состояний, но нужно самому определять первый элемент. stateString = InitStates.BotStates.FirstOrDefault().Name; //ToDo изменить состояние(установить первое состояние, отправить приветствие, отправить клавиатуру через метод ChangeCurrentStateAndMakeHop //Изменить состояние в базе данных и сохранить изменения ChangeCurrentChatState(chatId, HopType.RootLevelHope, stateString); //chatState.State = stateString; //db.SaveChanges(); } //Найти в общем пуле состояний состояние с таким же именем. StateController stateCtrl = new StateController(stateString); return(InitStates.GetStateByName(stateCtrl.GetCurrentStateName())); } }
private void EvaluateNewInitState(InitStates newState) { switch (newState) { case InitStates.SpawnPlayer: break; case InitStates.PlayerDead: StopAllCoroutines(); break; case InitStates.RespawnPlayer: ResetBoss(); break; case InitStates.PlayerRespawned: break; } }
public void Add(object parameter) { HashSet <ulong> values = new HashSet <ulong>(); foreach (var item in InitStates) { values.Add(item.Value); } //ulong max = (ulong)1 << Width.Value; ulong max = (ulong)1 << (int)_width; ulong i = 0; InitState added = null; while (added == null && i < max) { if (!values.Contains(i)) { added = new InitState() { Value = i, Amplitude = Complex.Zero }; } i++; } if (added != null) { InitStates.Add(added); } }
virtual protected void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.PlayerRespawned: ObjectPoolManager.Recycle(gameObject); break; case InitStates.PlayerDead: ObjectPoolManager.Recycle(gameObject); break; case InitStates.LoadTitleScreen: ObjectPoolManager.Recycle(gameObject); break; case InitStates.LoadMainMenu: ObjectPoolManager.Recycle(gameObject); break; case InitStates.Credits: ObjectPoolManager.Recycle(gameObject); break; case InitStates.ExitLevel: ObjectPoolManager.Recycle(gameObject); break; } }
virtual protected void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.RespawnPlayer: InitStateManager.instance.OnStateChange -= EvaluateNewState; ObjectPoolManager.Recycle(gameObject); break; case InitStates.PlayerDead: SetEnemyState(EnemyStates.Wander); break; case InitStates.LoadTitleScreen: ObjectPoolManager.Recycle(gameObject); break; case InitStates.ExitLevel: ObjectPoolManager.Recycle(gameObject); break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.Init: CreateStartupPools(); break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.Init: break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.RespawnPlayer: ResetDestructable(); break; } }
private void EvaluateNewInitState(InitStates newState) { switch (newState) { case InitStates.PlayerRespawned: isTriggered = false; break; } }
private void CreditsMenuOpened(InitStates newState) { if (newState == InitStates.Credits) { Invoke("ShowPhone", 1f); if (InitStateManager.currInitState == InitStates.Credits) { SaveData.current.ClearSave(); } } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.RespawnPlayer: ResetTasks(); ResetManager(); Debug.Log("init"); break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.RespawnPlayer: ResetGuns(); break; //case InitStates.SpawnPlayer: // Init(); // break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.LevelClear: previousLevelScene = TransitionManager.instance.GetCurrentLevel(); break; case InitStates.MainMenu: EvaluateMessages(); break; } }
private void EvaluateInitState(InitStates newState) { switch (newState) { case InitStates.LoadTitleScreen: Destroy(gameObject); break; case InitStates.LoadMainMenu: Destroy(gameObject); break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.PlayerRespawned: FixAllSceneLamps(); shouldBreakLights = true; break; case InitStates.ExitLevel: break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.PlayerSpawned: Init(); break; case InitStates.PlayerRespawned: ResetLight(); break; } }
private void EvaluateInitState(InitStates newstate) { switch (newstate) { case InitStates.ExitLevel: if (gameObject != false) { Destroy(gameObject); } break; case InitStates.LoadTitleScreen: break; } }
public void Init() { //Initial state currInitState = InitStates.Init; //Spawn necessary utillity managers Instantiate(audioManager, Vector3.zero, Quaternion.identity); Instantiate(transitionManager, Vector3.zero, Quaternion.identity); Instantiate(objectPoolManager, Vector3.zero, Quaternion.identity); Instantiate(clientManager, Vector3.zero, Quaternion.identity); Instantiate(musicManager, Vector3.zero, Quaternion.identity); AudioManager.instance.BindToInitManager(); TransitionManager.instance.BindToInitManager(); ObjectPoolManager._instance.BindToInitManager(); clientManager.GetComponent <IInitialisable>().Init(); OnStateChange?.Invoke(currInitState); }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.PlayerSpawned: Init(); WeaponManager.instance.Init(); break; case InitStates.PlayerRespawned: ResetCharacter(); break; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.Init: GameInit(); break; case InitStates.LoadTitleScreen: ReturnToTitleScreen(); break; case InitStates.LoadMainMenu: StartCoroutine(LoadTabletMenu()); break; } }
public void BeginNewState(InitStates newState) { switch (newState) { case InitStates.InitLevel: GameStateManager.instance.BindToInitManager(); currInitState = newState; OnStateChange?.Invoke(currInitState); break; case InitStates.PlayerSpawned: OnStateChange?.Invoke(newState); Debug.Log("Player spawned"); LoadingScreen.instance.cam.SetActive(false); LoadingScreen.instance.BeginFade(false); currInitState = InitStates.GameRunning; BeginNewState(currInitState); break; case InitStates.GameRunning: OnStateChange?.Invoke(newState); currGameMode = GameModes.Powercut; //LoadingScreen.instance.ToggleScreen(false); break; case InitStates.LevelLoaded: currInitState = newState; GameStateManager.instance.BindToInitManager(); SerialisationManager.Save(SaveName, SaveData.current); OnStateChange?.Invoke(currInitState); break; case InitStates.LevelClear: currInitState = newState; SerialisationManager.Save(SaveName, SaveData.current); OnStateChange?.Invoke(currInitState); break; case InitStates.ExitLevel: LoadingScreen.instance.ToggleScreen(true); currInitState = newState; SerialisationManager.Save(SaveName, SaveData.current); OnStateChange?.Invoke(currInitState); break; case InitStates.LoadTitleScreen: currInitState = newState; SerialisationManager.Save(SaveName, SaveData.current); OnStateChange?.Invoke(currInitState); break; case InitStates.TitleScreen: LoadingScreen.instance.BeginFade(false); currInitState = newState; OnStateChange?.Invoke(currInitState); currGameMode = GameModes.Menu; break; case InitStates.Credits: LoadingScreen.instance.BeginFade(false); currInitState = newState; OnStateChange?.Invoke(currInitState); currGameMode = GameModes.Menu; break; case InitStates.LoadMainMenu: currInitState = newState; OnStateChange?.Invoke(currInitState); break; case InitStates.MainMenu: LoadingScreen.instance.BeginFade(false); currInitState = newState; currGameMode = GameModes.Menu; SerialisationManager.Save(SaveName, SaveData.current); OnStateChange?.Invoke(currInitState); break; case InitStates.PlayerSceneLoaded: OnStateChange?.Invoke(newState); PointerManager.instance.SwitchToCrossHair(); WeaponManager.instance.BindToInitManager(); FindObjectOfType <LightManager>().BindToInitManager(); FindObjectOfType <PlayerBehaviour>().BindToInitManager(); GameStateManager.instance.Init(); currInitState = InitStates.SpawnPlayer; OnStateChange?.Invoke(currInitState); break; case InitStates.UISceneLoaded: currInitState = newState; PauseScreen.instance.Resume(); UIManager.instance.Init(); UIManager.instance.BindToInitManager(); OnStateChange?.Invoke(currInitState); break; case InitStates.PlayerDead: currInitState = newState; OnStateChange?.Invoke(currInitState); break; case InitStates.RespawnPlayer: LoadingScreen.instance.ToggleScreen(true); currInitState = newState; OnStateChange?.Invoke(currInitState); break; case InitStates.PlayerRespawned: currInitState = newState; OnStateChange?.Invoke(currInitState); LoadingScreen.instance.BeginFade(false); currInitState = InitStates.GameRunning; OnStateChange?.Invoke(currInitState); break; } }
public async void Initialize() { InitState = InitStates.InProgress; try { // Initializes required objects and load settings op2 = new Operationsv2(); LoadRoamingSettings(); Windows.Storage.ApplicationData.Current.DataChanged += RoamingDataChanged; // Checks if connection strings has been saved to apps settings store if (localSettings.Values["DbConnString"] != null && localSettings.Values["CardConnString"] != null) { // Retrieves connection strings and tests them DbConnectionString = localSettings.Values["DbConnString"].ToString(); CardConnString = localSettings.Values["CardConnString"].ToString(); bool DbTest = await op2.TestPayrollDb(DbConnectionString); bool CardTest = await op2.TestDbConnection(CardConnString); // Retrieves calendar Id to be shown in the login screen bool.TryParse(localSettings.Values["EnableCalendar"].ToString(), out enableCalendar); if (enableCalendar) { calendarId = localSettings.Values["CalendarID"].ToString(); } if (DbTest == true & CardTest == true) { // Loads connection strings to DataAccess op2.StoreConnString(DbConnectionString, CardConnString); if (localSettings.Values["selectedLocation"] != null) { // Retrieves app location settings and get info from database int.TryParse(localSettings.Values["selectedLocation"].ToString(), out int selectedLocation); appLocation = await op2.GetLocationById(selectedLocation); if (appLocation != null && appLocation.isDisabled != true) { // Retrieves global settings from database MinHours = await op2.GetGlobalSetting("MinHours"); int.TryParse(await op2.GetGlobalSetting("DefaultTraineeGroup"), out int studentGroupId); int.TryParse(await op2.GetGlobalSetting("DefaultGroup"), out int defaultGroupId); if (studentGroupId != int.MinValue && defaultGroupId != int.MinValue) { defaultStudentGroup = await op2.GetUserGroupById(studentGroupId); defaultOtherGroup = await op2.GetUserGroupById(defaultGroupId); if (defaultStudentGroup != null && defaultOtherGroup != null) { InitState = InitStates.Success; return; } } else { InitState = InitStates.Failed; return; } } else { InitState = InitStates.Completed; return; } } else { InitState = InitStates.Failed; return; } } else { InitState = InitStates.Failed; return; } } else { InitState = InitStates.Failed; } } catch (Exception ex) { InitState = InitStates.Failed; } }
private void EvaluateNewState(InitStates newState) { switch (newState) { case InitStates.LoadTitleScreen: if (isAwake) { BeginFadeOut(); } break; case InitStates.LoadMainMenu: if (isAwake) { BeginFadeOut(); } break; case InitStates.TitleScreen: if (isAwake) { currentRecord = InitStateManager.instance.GetRecord(); PlayFirstTrack(); } break; case InitStates.MainMenu: if (isAwake) { currentRecord = InitStateManager.instance.GetRecord(); PlayFirstTrack(); } break; case InitStates.LevelLoaded: if (isAwake) { StopAllCoroutines(); BeginFadeOut(); currentRecord = GameStateManager.instance.GetRecord(); BindToGameState(); } break; case InitStates.Credits: if (isAwake) { StopAllCoroutines(); BeginFadeOut(); foreach (TrackList tracklist in creditRecord.records) { tracklist.ResetRecord(); } currentRecord = creditRecord; PlayFirstTrack(); } break; case InitStates.PlayerDead: if (isAwake) { BeginFadeOut(); } break; case InitStates.RespawnPlayer: if (isAwake) { PlayNextTrack(true); } break; case InitStates.ExitLevel: BeginFadeOut(); break; } }