public void MakeMenu() { var frame = CreateMenu("Are you sure?\nThis will create a very large world that\nonly the most powerful machines can handle.\nReally. It's big. Like super big."); CreateMenuItem(frame, "I'M SURE", "If my computer catches on fire it's my own fault!", (sender, args) => { DwarfGame.LogSentryBreadcrumb("Menu", "User generating a random world."); var overworldSettings = Overworld.Create(); overworldSettings.InstanceSettings.Cell = new ColonyCell { Bounds = new Rectangle(0, 0, 64, 64), Faction = overworldSettings.ColonyCells.GetCellAt(0, 0).Faction }; overworldSettings.InstanceSettings.InitalEmbarkment = new Embarkment(overworldSettings); overworldSettings.InstanceSettings.InitalEmbarkment.Funds = 1000u; overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Crafter", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Manager", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Miner", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Wizard", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Soldier", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Musketeer", overworldSettings.Company)); GameStateManager.PushState(new LoadState(Game, overworldSettings, LoadTypes.GenerateOverworld)); }).AutoLayout = AutoLayout.DockBottom; CreateMenuItem(frame, "NEVERMIND!", "This was probably a bad idea.", (sender, args) => GameStateManager.PopState()).AutoLayout = AutoLayout.DockBottom; FinishMenu(); }
public void MakeMenu(DirectoryInfo GameToContinue) { var frame = CreateMenu(Library.GetString("main-menu-title")); if (GameToContinue != null && NewOverworldFile.CheckCompatibility(GameToContinue.FullName)) { CreateMenuItem(frame, "Continue", NewOverworldFile.GetOverworldName(GameToContinue.FullName), (sender, args) => { var file = NewOverworldFile.Load(GameToContinue.FullName); GameStateManager.PopState(); var overworldSettings = file.CreateSettings(); overworldSettings.InstanceSettings.LoadType = LoadType.LoadFromFile; GameStateManager.PushState(new LoadState(Game, overworldSettings, LoadTypes.UseExistingOverworld)); }); } CreateMenuItem(frame, Library.GetString("new-game"), Library.GetString("new-game-tooltip"), (sender, args) => GameStateManager.PushState(new WorldGeneratorState(Game, Overworld.Create(), WorldGeneratorState.PanelStates.Generate))); CreateMenuItem(frame, Library.GetString("load-game"), Library.GetString("load-game-tooltip"), (sender, args) => GameStateManager.PushState(new WorldLoaderState(Game))); CreateMenuItem(frame, Library.GetString("options"), Library.GetString("options-tooltip"), (sender, args) => GameStateManager.PushState(new OptionsState(Game))); CreateMenuItem(frame, Library.GetString("manage-mods"), Library.GetString("manage-mods-tooltip"), (sender, args) => GameStateManager.PushState(new ModManagement.ManageModsState(Game))); CreateMenuItem(frame, Library.GetString("credits"), Library.GetString("credits-tooltip"), (sender, args) => GameStateManager.PushState(new CreditsState(GameState.Game))); CreateMenuItem(frame, "QUICKPLAY", "", (sender, args) => { DwarfGame.LogSentryBreadcrumb("Menu", "User generating a random world."); var overworldSettings = Overworld.Create(); overworldSettings.InstanceSettings.InitalEmbarkment = new Embarkment(overworldSettings); overworldSettings.InstanceSettings.InitalEmbarkment.Funds = 1000u; overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Crafter", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Manager", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Miner", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Wizard", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Soldier", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Musketeer", overworldSettings.Company)); GameStateManager.PushState(new LoadState(Game, overworldSettings, LoadTypes.GenerateOverworld)); }); CreateMenuItem(frame, "GIANT QUICKPLAY", "", (sender, args) => { GameStateManager.PushState(new CheckMegaWorldState(Game)); }); CreateMenuItem(frame, "Dwarf Designer", "Open the dwarf designer.", (sender, args) => { GameStateManager.PushState(new Debug.DwarfDesignerState(GameState.Game)); }); #if DEBUG CreateMenuItem(frame, "Yarn test", "", (sender, args) => { GameStateManager.PushState(new YarnState(null, "test.conv", "Start", new Yarn.MemoryVariableStore())); }); CreateMenuItem(frame, "Debug GUI", "", (sender, args) => { GameStateManager.PushState(new Debug.GuiDebugState(GameState.Game)); }); #endif CreateMenuItem(frame, Library.GetString("quit"), Library.GetString("quit-tooltip"), (sender, args) => Game.Exit()); FinishMenu(); }
public void MakeMenu() { var frame = CreateMenu(Library.GetString("main-menu-title")); CreateMenuItem(frame, Library.GetString("new-game"), Library.GetString("new-game-tooltip"), (sender, args) => GameStateManager.PushState(new WorldGeneratorState(Game, Overworld.Create(), WorldGeneratorState.PanelStates.Generate))); CreateMenuItem(frame, Library.GetString("load-game"), Library.GetString("load-game-tooltip"), (sender, args) => GameStateManager.PushState(new WorldLoaderState(Game))); CreateMenuItem(frame, Library.GetString("options"), Library.GetString("options-tooltip"), (sender, args) => GameStateManager.PushState(new OptionsState(Game))); CreateMenuItem(frame, Library.GetString("manage-mods"), Library.GetString("manage-mods-tooltip"), (sender, args) => GameStateManager.PushState(new ModManagement.ManageModsState(Game))); CreateMenuItem(frame, Library.GetString("credits"), Library.GetString("credits-tooltip"), (sender, args) => GameStateManager.PushState(new CreditsState(GameState.Game))); #if DEBUG CreateMenuItem(frame, "QUICKPLAY", "", (sender, args) => { DwarfGame.LogSentryBreadcrumb("Menu", "User generating a random world."); var overworldSettings = Overworld.Create(); overworldSettings.InstanceSettings.InitalEmbarkment.Funds = 1000u; overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Crafter", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Manager", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Miner", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Wizard", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Soldier", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Musketeer", overworldSettings.Company)); GameStateManager.PushState(new LoadState(Game, overworldSettings, LoadTypes.GenerateOverworld)); }); CreateMenuItem(frame, "GIANT QUICKPLAY", "", (sender, args) => { DwarfGame.LogSentryBreadcrumb("Menu", "User generating a random world."); var overworldSettings = Overworld.Create(); overworldSettings.InstanceSettings.Cell = new ColonyCell { Bounds = new Rectangle(0, 0, 64, 64), Faction = overworldSettings.ColonyCells.GetCellAt(0, 0).Faction }; overworldSettings.InstanceSettings.InitalEmbarkment.Funds = 1000u; overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Crafter", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Manager", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Miner", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Wizard", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Soldier", overworldSettings.Company)); overworldSettings.InstanceSettings.InitalEmbarkment.Employees.Add(Applicant.Random("Musketeer", overworldSettings.Company)); GameStateManager.PushState(new LoadState(Game, overworldSettings, LoadTypes.GenerateOverworld)); }); CreateMenuItem(frame, "Dwarf Designer", "Open the dwarf designer.", (sender, args) => { GameStateManager.PushState(new Debug.DwarfDesignerState(GameState.Game)); }); CreateMenuItem(frame, "Yarn test", "", (sender, args) => { GameStateManager.PushState(new YarnState(null, "test.conv", "Start", new Yarn.MemoryVariableStore())); }); #endif CreateMenuItem(frame, Library.GetString("quit"), Library.GetString("quit-tooltip"), (sender, args) => Game.Exit()); FinishMenu(); }