void ExecuteButtonPressAction(string buttonName) { switch (buttonName) { case StartButtonName: MenuUIManager.SwitchToPackagePickingScreen(); break; case LoadButtonName: MenuUIManager.SwitchToLoadGame(); break; case OptionsButtonName: MenuUIManager.SwitchToOptions(); break; case AboutButtonName: MenuUIManager.SwitchToAboutScreen(); break; case ExitButtonName: //DO NOT WAIT, THIS IS CORRECT Game.Exit(); break; default: throw new ArgumentOutOfRangeException(nameof(buttonName), "Unknown button on the MainMenu screen"); } }
async void SaveButton_Pressed(PressedEventArgs args) { if (LineEdit.Text == "") { await MenuUIManager.ErrorPopUp.DisplayError("Invalid name", "Name of the saved game cannot be empty"); return; } string newAbsoluteFilePath = Path.Combine(Game.Files.SaveGameDirAbsolutePath, LineEdit.Text); if (Game.Files.FileExists(newAbsoluteFilePath)) { bool confirmed = await MenuUIManager.ConfirmationPopUp .RequestConfirmation("Overriding file", $"Do you really want to override the file \"{MatchSelected}\"?", null, proxy); if (!confirmed) { return; } } try { MenuUIManager.MenuController.SavePausedLevel(LineEdit.Text); MenuUIManager.SwitchBack(); } catch (Exception) { await MenuUIManager.ErrorPopUp.DisplayError("Saving Error", "There was an error while saving the level, see log for details.", proxy); } }
protected void Exit() { MenuUIManager.MenuController.EndPausedLevel(); Proxy.PausedLevel = null; MenuUIManager.Clear(); MenuUIManager.SwitchToMainMenu(); }
async void SaveAsButtonReleased(ReleasedEventArgs args) { if (Level.LevelRep.GamePack.TryGetLevel(name, out LevelRep oldLevel)) { bool confirm = await MenuUIManager.ConfirmationPopUp.RequestConfirmation("Override level", "Do you want to override existing level with the same name?", null, proxy); if (!confirm) { return; } } LevelRep newLevelRep = null; try { newLevelRep = Level.LevelRep.CreateClone(name, description, ThumbnailPath); newLevelRep.SaveToGamePack(true); MenuUIManager.SwitchBack(); } catch (Exception) { newLevelRep?.Dispose(); await MenuUIManager.ErrorPopUp.DisplayError("Package Error", "There was an error while saving the level to package, see log for details.", proxy); } }
static UIElement InitTeamItem(int teamID, MHUrhoApp game, MenuUIManager menuUIManager) { var newElement = game.UI.LoadLayout(game.PackageManager.GetXmlFile("UI/TeamListItemLayout.xml", true), menuUIManager.MenuRoot.GetDefaultStyle()); Text textElement = (Text)newElement.GetChild("TeamIDText"); textElement.Value = teamID.ToString(); return(newElement); }
void ExitConfirmation(bool confirmed) { if (confirmed) { if (changed) { Game.Config.Reload(Game.Files); SetValues(Game.Config); } changed = false; MenuUIManager.SwitchBack(); } }
static UIElement InitTypeItem(PlayerType player, MHUrhoApp game, MenuUIManager menuUIManager) { var newElement = game.UI.LoadLayout(game.PackageManager.GetXmlFile("UI/PlayerTypeItemLayout.xml", true), menuUIManager.MenuRoot.GetDefaultStyle()); BorderImage playerIcon = (BorderImage)newElement.GetChild("PlayerIcon"); Text playerName = (Text)newElement.GetChild("PlayerName"); Text playerDescription = (Text)newElement.GetChild("PlayerDescription", true); playerIcon.Texture = player.Package.PlayerIconTexture; playerIcon.ImageRect = player.IconRectangle; playerName.Value = player.Name; //FUTURE: Description playerDescription.Value = "Nothing for now"; return(newElement); }
void SaveConfirmation(bool confirmed) { if (confirmed) { if (changed) { Game.Config.Save(Game.Files); changed = false; } MenuUIManager.SwitchBack(); } else { if (changed) { Game.Config.Reload(Game.Files); SetValues(Game.Config); Game.Config.SetGraphicsMode(Game.Graphics); changed = false; } } }
void SaveGame() { MenuUIManager.SwitchToSaveGame(); }
protected void Resume() { Proxy.PausedLevel = null; MenuUIManager.Clear(); MenuUIManager.MenuController.ResumePausedLevel(); }
void SaveLevelPrototypeAs() { MenuUIManager.SwitchToSaveAsScreen(Level); }
void BackButton_Pressed(PressedEventArgs args) { MenuUIManager.SwitchBack(); }
void SwitchToEditingNewLevel() { MenuUIManager.SwitchToLevelCreationScreen(null); }
void SwitchToEditingExistingLevel(LevelRep level) { MenuUIManager.SwitchToLevelCreationScreen(level); }
protected FilePickScreen(MenuUIManager menuUIManager) : base(menuUIManager) { }
public FileSystemBrowsingPopUp(MenuUIManager uiManager) { menuUIManager = uiManager; }
public ErrorPopUp(MenuUIManager menuUIManager) { this.menuUIManager = menuUIManager; }
void MainMenuButtonPressed(PressedEventArgs obj) { MenuUIManager.Clear(); MenuUIManager.SwitchToMainMenu(); }
void LoadGame() { MenuUIManager.SwitchToLoadGame(); }
public void SimulateBackButton() { MenuUIManager.SwitchBack(); }
protected void GoToOptions() { MenuUIManager.SwitchToOptions(); }
void SwitchToPlayingLevel(LevelRep level) { MenuUIManager.SwitchToLevelSettingsScreen(level); }
public ConfirmationPopUp(MenuUIManager menuUIManager) { this.menuUIManager = menuUIManager; }
void BackButtonReleased(ReleasedEventArgs args) { MenuUIManager.SwitchBack(); }