Пример #1
0
        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();
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
        }