protected bool ButtonDoorAction() { //There's another pending action, so we should probably clean it up first if (m_currentPendingCreationAction != CreationAction.None) { CleanUpPendingAction(); } CameraManager.Singleton.selectionMode = CameraManager.CameraSelectionMode.Tiles; m_currentPendingCreationAction = CreationAction.Object; m_currentPendingObjectType = UIObjectType.Door; return(true); }
/// <summary> /// Инициализация интерфейса уровня. /// </summary> private void InitializeLevelUI() { _model.UIItems = new List <UIObject>(); for (UIObjectType i = UIObjectType.Health; i <= UIObjectType.Timer; i++) { UIObject item = new UIObject() { Type = i }; _model.UIItems.Add(item); } MenuHeader = ""; _currentMenu = UIObjectType.OK; CurrentCommand = ModelStateMachineCommand.Resume; _menuDisplayed = false; ShadowLevel = false; }
/// <summary> /// Инициализация главного меню. /// </summary> private void InitializeMainMenu() { _model.UIItems = new List <UIObject>(); for (UIObjectType i = UIObjectType.New_game; i <= UIObjectType.Exit; i++) { UIObject item = new UIObject() { Type = i, State = 0 }; _model.UIItems.Add(item); } _model.UIItems[0].State = 1; SelectedMenuItem = 0; MenuHeader = "Alien Explorer"; _currentMenu = UIObjectType.OK; CurrentCommand = ModelStateMachineCommand.None; }
/// <summary> /// Выбор процедуры инициализации нужного меню. /// </summary> /// <param name="parType">Тип меню.</param> public void EnterToMenu(UIObjectType parType) { switch (parType) { case UIObjectType.OK: InitializeLevelUI(); break; case UIObjectType.Resume: InitializePauseMenu(); break; case UIObjectType.Next_level: InitializeWinMenu(); break; case UIObjectType.Restart: InitializeLoseMenu(); break; } }
/// <summary> /// Инициализация меню подтвержения действия. /// </summary> /// <param name="parType">Тип родительского меню.</param> private void InitializeConfirmationMenu(UIObjectType parType) { string caption = ""; _model.UIItems = new List <UIObject>(); switch (parType) { case UIObjectType.New_game: caption = "Progress will be lost. Continue?"; MenuHeader = "New game"; break; case UIObjectType.Load_game: caption = "Load last played level?"; MenuHeader = "Load game"; break; case UIObjectType.Exit: caption = "Close game?"; MenuHeader = "Exit"; break; } _model.UIItems.Add(new UIObject() { Type = UIObjectType.Text, State = 0, Text = caption, ID = -1 }); for (UIObjectType i = UIObjectType.OK; i <= UIObjectType.Cancel; i++) { UIObject item = new UIObject() { Type = i, State = 0 }; _model.UIItems.Add(item); } _model.UIItems[2].State = 1; _currentMenu = parType; SelectedMenuItem = 2; CurrentCommand = ModelStateMachineCommand.None; }
/// <summary> /// Выбор процедуры инициализации нужного меню. /// </summary> /// <param name="parType">Тип меню.</param> private void EnterToMenu(UIObjectType parType) { switch (parType) { case UIObjectType.OK: InitializeMainMenu(); break; case UIObjectType.New_game: case UIObjectType.Load_game: case UIObjectType.Exit: InitializeConfirmationMenu(parType); break; case UIObjectType.Choose_level: InitializeChooseLevelMenu(); break; case UIObjectType.Records: InitializeRecordsMenu(); break; } }
/// <summary> /// Обработка действия подтверждения (обычно нажатие клавишы Enter). /// </summary> protected override void AcceptAction() { UIObjectType selectedItem = _model.UIItems[SelectedMenuItem].Type; switch (selectedItem) { case UIObjectType.Resume: EnterToMenu(UIObjectType.OK); break; case UIObjectType.Restart: CurrentCommand = ModelStateMachineCommand.LoadLevel; break; case UIObjectType.Next_level: CurrentCommand = ModelStateMachineCommand.LoadNextLevel; break; case UIObjectType.Back_to_main_menu: CurrentCommand = ModelStateMachineCommand.LoadMenu; break; } }
/// <summary> /// Обработка действия подтверждения (обычно нажатие клавишы Enter). /// </summary> protected override void AcceptAction() { UIObjectType selectedItem = _model.UIItems[SelectedMenuItem].Type; switch (_currentMenu) { case UIObjectType.OK: if (selectedItem != UIObjectType.New_game) { EnterToMenu(selectedItem); } else { int currentProgress = SaveFile.GetInstance().LevelToLoad; int firstLevel = LevelLoader.CheckAvailableLevels().OrderBy(x => x).First(); if (firstLevel != currentProgress) { EnterToMenu(selectedItem); } else { CurrentCommand = ModelStateMachineCommand.LoadFirstLevel; } } break; case UIObjectType.New_game: if (_model.UIItems[SelectedMenuItem].Type == UIObjectType.OK) { CurrentCommand = ModelStateMachineCommand.LoadFirstLevel; } else { EnterToMenu(UIObjectType.OK); } break; case UIObjectType.Load_game: if (_model.UIItems[SelectedMenuItem].Type == UIObjectType.OK) { CurrentCommand = ModelStateMachineCommand.LoadLastLevel; } else { EnterToMenu(UIObjectType.OK); } break; case UIObjectType.Choose_level: CurrentCommand = ModelStateMachineCommand.LoadLevel; SelectedMenuItem = _model.UIItems[SelectedMenuItem].ID; break; case UIObjectType.Exit: if (_model.UIItems[SelectedMenuItem].Type == UIObjectType.OK) { CurrentCommand = ModelStateMachineCommand.Exit; } else { EnterToMenu(UIObjectType.OK); } break; } }
public void CleanUpPendingAction() { CameraManager.Singleton.selectionMode = CameraManager.CameraSelectionMode.None; m_currentPendingObjectType = UIObjectType.None; }
public LB_EditorUIElementModel(string uiObjectName, UIObjectType uiObjectType) { this.UIObjectName = uiObjectName; this.ObjectType = uiObjectType; }