private Window_Confirmation FileConfirmWindow(
            FileSelectedCommandMenu fileCommandMenu,
            Window_Title_Start_Game startGameMenu,
            string caption)
        {
            var     confirmWindow = new Window_Confirmation();
            int     height        = 64;
            Vector2 loc           = fileCommandMenu.SelectedOptionLoc + new Vector2(-8, 0);

            if (loc.Y > Config.WINDOW_HEIGHT - height)
            {
                loc.Y -= height;
            }
            confirmWindow.loc = loc;
            confirmWindow.set_text(caption);
            confirmWindow.add_choice("Yes", new Vector2(16, 16));
            confirmWindow.add_choice("No", new Vector2(56, 16));
            int text_width = Font_Data.text_width(caption, Config.CONVO_FONT);

            text_width = text_width + 16 +
                         (text_width % 8 == 0 ? 0 : (8 - text_width % 8));
            confirmWindow.size         = new Vector2(Math.Max(88, text_width), 48);
            confirmWindow.index        = 1;
            confirmWindow.stereoscopic = Config.TITLE_CHOICE_DEPTH;

            return(confirmWindow);
        }
Exemple #2
0
        private void UnitEditor_Canceled(object sender, EventArgs e)
        {
            Global.game_system.play_se(System_Sounds.Cancel);
            string caption = "Cancel editing?\nChanges will be lost.";

            var cancelWindow = new Window_Confirmation();

            cancelWindow.loc = new Vector2(56, 32);
            cancelWindow.set_text(caption);
            cancelWindow.add_choice("Yes", new Vector2(16, 32));
            cancelWindow.add_choice("No", new Vector2(56, 32));
            cancelWindow.size  = new Vector2(104, 64);
            cancelWindow.index = 1;

            var cancelMenu = new ConfirmationMenu(cancelWindow);

            cancelMenu.Confirmed += UnitEditorCancelMenu_Confirmed;
            cancelMenu.Canceled  += menu_Closed;
            AddMenu(cancelMenu);
        }
 public ConfirmationMenu(Window_Confirmation window)
 {
     Window = window;
 }
Exemple #4
0
        // Selected an item in the map menu
        private void mapMenu_Selected(object sender, EventArgs e)
        {
            var mapMenu = (sender as UnitEditorMapCommandMenu);

            switch (mapMenu.SelectedOption)
            {
            case Unit_Editor_Options.Unit:
                RemoveTopMenu();

                var unitMenu = new Window_Unit_Team();
                unitMenu.Status += unitMenu_Status;
                unitMenu.Closed += unitMenu_Closed;
                AddMenu(unitMenu);
                break;

            case Unit_Editor_Options.Add_Unit:
                MenuHandler.UnitEditorMapMenuAddUnit();
                break;

            case Unit_Editor_Options.Paste_Unit:
                MenuHandler.UnitEditorMapMenuPasteUnit();
                break;

            case Unit_Editor_Options.Reinforcements:
                RemoveTopMenu();

                var reinforcementsMenu = new ReinforcementsMenu(ReinforcementData);
                reinforcementsMenu.Selected += reinforcementsMenu_Selected;
                reinforcementsMenu.Canceled += menu_ClosedCanceled;
                AddMenu(reinforcementsMenu);
                break;

            case Unit_Editor_Options.Options:
                RemoveTopMenu();

                var settingsTopMenu = new GameplaySettingsTopMenu(false);
                settingsTopMenu.Selected += SettingsTopMenu_Selected;
                settingsTopMenu.Closed   += menu_ClosedCanceled;
                settingsTopMenu.AddToManager(new MenuCallbackEventArgs(this.AddMenu, this.menu_Closed));
                break;

            case Unit_Editor_Options.Clear_Units:     // Clear Units
                Vector2 optionLocation = mapMenu.SelectedOptionLocation;

                var clearUnitsWindow = new Window_Command(
                    optionLocation + new Vector2(8, 24),
                    80, new List <string> {
                    "Confirm", "Cancel"
                });
                clearUnitsWindow.immediate_index = 1;

                var clearUnitsCommandMenu = new CommandMenu(clearUnitsWindow);
                clearUnitsCommandMenu.Selected += clearUnitsCommandMenu_Selected;
                clearUnitsCommandMenu.Canceled += confirmMenu_Canceled;
                AddMenu(clearUnitsCommandMenu);
                break;

            case Unit_Editor_Options.Mirror_Units:     // Mirror Units
                optionLocation = mapMenu.SelectedOptionLocation;

                var mirrorUnitsWindow = new Window_Command(
                    optionLocation + new Vector2(8, 24),
                    80, new List <string> {
                    "Confirm", "Cancel"
                });
                mirrorUnitsWindow.immediate_index = 1;

                var mirrorUnitsCommandMenu = new CommandMenu(mirrorUnitsWindow);
                mirrorUnitsCommandMenu.Selected += mirrorUnitsCommandMenu_Selected;
                mirrorUnitsCommandMenu.Canceled += confirmMenu_Canceled;
                AddMenu(mirrorUnitsCommandMenu);
                break;

            case Unit_Editor_Options.Playtest:
                MenuHandler.UnitEditorMapMenuPlaytest();
                break;

            case Unit_Editor_Options.Revert:
                MenuHandler.UnitEditorMapMenuRevert();
                break;

            case Unit_Editor_Options.Save:
                MenuHandler.UnitEditorMapMenuSave();
                break;

            case Unit_Editor_Options.Quit:     // Quit
                optionLocation = mapMenu.SelectedOptionLocation;

                var quitConfirmWindow = new Window_Confirmation();
                int height            = 48;
                quitConfirmWindow.loc = optionLocation + new Vector2(0, 24);
                if (quitConfirmWindow.loc.Y + height > Config.WINDOW_HEIGHT)
                {
                    quitConfirmWindow.loc = optionLocation + new Vector2(0, -40);
                }
                quitConfirmWindow.set_text("Are you sure?");
                quitConfirmWindow.add_choice("Yes", new Vector2(16, 16));
                quitConfirmWindow.add_choice("No", new Vector2(56, 16));
                quitConfirmWindow.size  = new Vector2(88, height);
                quitConfirmWindow.index = 1;

                var quitConfirmMenu = new ConfirmationMenu(quitConfirmWindow);
                quitConfirmMenu.Confirmed += quitConfirmMenu_Confirmed;
                quitConfirmMenu.Canceled  += confirmMenu_Canceled;
                AddMenu(quitConfirmMenu);
                break;
            }
        }
Exemple #5
0
        void reinforcementsOptionsMenu_Selected(object sender, EventArgs e)
        {
            var reinforcementsOptionsMenu = (sender as CommandMenu);

            Global.game_system.play_se(System_Sounds.Confirm);
            switch (reinforcementsOptionsMenu.SelectedIndex)
            {
            // Edit
            case 0:
                RemoveTopMenu();
                var reinforcementsMenu = (Menus.Peek() as ReinforcementsMenu);
                int index = reinforcementsMenu.Index - 1;

                Menus.Clear();

                MenuHandler.UnitEditorMapMenuEditReinforcement(index);
                break;

            // Add
            case 1:
            // Paste
            case 2:
                RemoveTopMenu();
                reinforcementsMenu = (Menus.Peek() as ReinforcementsMenu);

                index = reinforcementsMenu.Index;
                if (ReinforcementData.Count == 0)
                {
                    index = 0;
                }

                if (reinforcementsOptionsMenu.SelectedIndex == 1)
                {
                    // Add
                    MenuHandler.UnitEditorMapMenuAddReinforcement(index);
                }
                else
                {
                    // Paste
                    MenuHandler.UnitEditorMapMenuPasteReinforcement(index);
                }

                reinforcementsMenu.Refresh(index + 1);
                break;

            // Delete
            case 3:
                var deleteReinforcementWindow = new Window_Confirmation();
                deleteReinforcementWindow.loc = new Vector2(Config.WINDOW_WIDTH - 96, 32);
                deleteReinforcementWindow.set_text("Delete this\nreinforcement?");
                deleteReinforcementWindow.add_choice("Yes", new Vector2(8, 32));
                deleteReinforcementWindow.add_choice("No", new Vector2(48, 32));
                deleteReinforcementWindow.size  = new Vector2(88, 64);
                deleteReinforcementWindow.index = 1;

                var deleteReinforcementMenu = new ConfirmationMenu(deleteReinforcementWindow);
                deleteReinforcementMenu.Confirmed += deleteReinforcementMenu_Confirmed;
                deleteReinforcementMenu.Canceled  += confirmMenu_Canceled;
                AddMenu(deleteReinforcementMenu);
                break;
            }
        }
        void mainMenu_Selected(object sender, EventArgs e)
        {
            var mainMenu = sender as Window_Title_Main_Menu;

            switch (mainMenu.SelectedOption)
            {
            case Main_Menu_Selections.Resume:
                MenuHandler.TitleResume();
                break;

            case Main_Menu_Selections.Start_Game:
                Global.game_system.play_se(System_Sounds.Confirm);
                mainMenu.HideMenus();
                AddStartGameMenu();
                break;

            case Main_Menu_Selections.Options:
                Global.game_system.play_se(System_Sounds.Confirm);
                var settingsTopMenu = new SettingsTopMenu();
                settingsTopMenu.Selected += SettingsTopMenu_Selected;
                settingsTopMenu.Closed   += menu_Closed;
                settingsTopMenu.AddToManager(new MenuCallbackEventArgs(this.AddMenu, this.menu_Closed));
                break;

#if !MONOGAME && DEBUG
            case Main_Menu_Selections.Test_Battle:
                Global.game_system.play_se(System_Sounds.Confirm);
                Global.game_state.reset();
                Global.game_map        = new Game_Map();
                Global.game_temp       = new Game_Temp();
                Global.game_battalions = new Game_Battalions();
                Global.game_actors     = new Game_Actors();
                var testBattleMenu = new Windows.Map.Window_Test_Battle_Setup();
                testBattleMenu.Confirm += testBattleMenu_Confirm;
                testBattleMenu.Closed  += menu_Closed;
                AddMenu(testBattleMenu);
                break;
#endif
            case Main_Menu_Selections.Extras:
                Global.game_system.play_se(System_Sounds.Confirm);
                mainMenu.HideMenus();

                Global.game_state.reset();
                Global.game_map        = new Game_Map();
                Global.game_temp       = new Game_Temp();
                Global.game_battalions = new Game_Battalions();
                Global.game_actors     = new Game_Actors();
                var extrasMenu = new ExtrasMenu();
                extrasMenu.Selected += ExtrasMenu_Selected;
                extrasMenu.Closed   += menu_Closed;
                extrasMenu.AddToManager(new MenuCallbackEventArgs(this.AddMenu, this.menu_Closed));
                break;

            case Main_Menu_Selections.Quit:
                string caption = "Are you sure you\nwant to quit?";

                var quitWindow = new Window_Confirmation();
                quitWindow.set_text(caption);
                quitWindow.add_choice("Yes", new Vector2(16, 32));
                quitWindow.add_choice("No", new Vector2(56, 32));
                int text_width = Font_Data.text_width(caption, Config.CONVO_FONT);
                text_width              = text_width + 16 + (text_width % 8 == 0 ? 0 : (8 - text_width % 8));
                quitWindow.size         = new Vector2(Math.Max(88, text_width), 64);
                quitWindow.loc          = (new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) - quitWindow.size) / 2;
                quitWindow.stereoscopic = Config.TITLE_CHOICE_DEPTH;

                var quitMenu = new ConfirmationMenu(quitWindow);
                quitMenu.Confirmed += quitMenu_Confirmed;
                quitMenu.Canceled  += menu_Closed;
                AddMenu(quitMenu);
                break;
            }
        }