コード例 #1
0
        protected void open_map_save()
        {
            Global.game_temp.menuing       = true;
            Global.game_temp.menu_call     = false;
            Global.game_temp.map_save_call = false;

            Overwriting_Checkpoint = Global.current_save_info.map_save_exists;
            if (Overwriting_Checkpoint)
            {
                Map_Save_Confirm_Window = new Parchment_Confirm_Window();
                Map_Save_Confirm_Window.set_text("Overwrite checkpoint?");
                Map_Save_Confirm_Window.add_choice("Yes", new Vector2(16, 16));
                Map_Save_Confirm_Window.add_choice("No", new Vector2(56, 16));
                Map_Save_Confirm_Window.size = new Vector2(112, 48);
            }
            else
            {
                Map_Save_Confirm_Window = new Parchment_Info_Window();
                Map_Save_Confirm_Window.set_text("Checkpoint Saved.");
                Map_Save_Confirm_Window.size = new Vector2(112, 32);

                Suspend_Filename = Config.MAP_SAVE_FILENAME;
                suspend();
            }
            Map_Save_Confirm_Window.loc = new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 - Map_Save_Confirm_Window.size / 2;
        }
コード例 #2
0
        private void CheckMetrics()
        {
            if (Global.metrics_allowed &&
                Global.gameSettings.General.Metrics == Metrics_Settings.Not_Set)
            {
                // Show first run metrics setting confirmation window
                var metricsConfirmWindow = new Parchment_Confirm_Window();
                metricsConfirmWindow.set_text(
                    @"Would you like to provide
anonymous usage data to
the developers for use in
improving this game?");
                metricsConfirmWindow.add_choice("Yes", new Vector2(32, 64));
                metricsConfirmWindow.add_choice("No", new Vector2(80, 64));
                metricsConfirmWindow.size         = new Vector2(136, 96);
                metricsConfirmWindow.loc          = (new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) - metricsConfirmWindow.size) / 2;
                metricsConfirmWindow.index        = 0;
                metricsConfirmWindow.stereoscopic = Config.TITLE_CHOICE_DEPTH - 1;

                var metricsConfirmMenu = new ConfirmationMenu(metricsConfirmWindow);
                metricsConfirmMenu.Confirmed += metricsConfirmMenu_Confirmed;
                metricsConfirmMenu.Canceled  += metricsConfirmMenu_Canceled;
                AddMenu(metricsConfirmMenu);
            }
        }
コード例 #3
0
        protected virtual void clear_menus()
        {
            close_map_menu();

            MapMenu  = null;
            UnitMenu = null;

            Map_Save_Confirm_Window = null;
        }
コード例 #4
0
        protected void update_map_save()
        {
            if (!Overwriting_Checkpoint)
            {
                if (Map_Save_Confirm_Window.is_ready)
                {
                    if (Map_Save_Confirm_Window.is_selected() ||
                        Map_Save_Confirm_Window.is_canceled())
                    {
                        Global.game_system.play_se(System_Sounds.Confirm);
                        Map_Save_Confirm_Window = null;
                        if (!Global.game_system.preparations)
                        {
                            Global.game_temp.menuing = false;
                        }
                    }
                }
            }
            else
            {
                if (Map_Save_Confirm_Window.is_ready)
                {
                    if (Map_Save_Confirm_Window.is_canceled())
                    {
                        Global.game_system.play_se(System_Sounds.Cancel);
                        Map_Save_Confirm_Window = null;
                        if (!Global.game_system.preparations)
                        {
                            Global.game_temp.menuing = false;
                        }
                        return;
                    }
                    else if (Map_Save_Confirm_Window.is_selected())
                    {
                        Global.game_system.play_se(System_Sounds.Confirm);
                        switch (Map_Save_Confirm_Window.index)
                        {
                        // Yes
                        case 0:
                            Suspend_Filename = Config.MAP_SAVE_FILENAME;
                            suspend();
                            break;

                        // No
                        case 1:
                            break;
                        }
                        Map_Save_Confirm_Window = null;
                        if (!Global.game_system.preparations)
                        {
                            Global.game_temp.menuing = false;
                        }
                    }
                }
            }
        }
コード例 #5
0
        protected Window_Confirmation create_save_overwrite_window()
        {
            var saveOverwriteWindow = new Parchment_Confirm_Window();

            saveOverwriteWindow.set_text("Overwrite save?");
            saveOverwriteWindow.add_choice("Yes", new Vector2(16, 16));
            saveOverwriteWindow.add_choice("No", new Vector2(56, 16));
            saveOverwriteWindow.size = new Vector2(112, 48);
            saveOverwriteWindow.loc  = new Vector2(
                (Config.WINDOW_WIDTH - saveOverwriteWindow.size.X) / 2, 24);

            string chapter_name = Global.data_chapters[Global.game_state.chapter_id].World_Map_Name;

            return(saveOverwriteWindow);
        }
コード例 #6
0
        void homeBaseMenu_Start(object sender, EventArgs e)
        {
            var leaveConfirmWindow = new Parchment_Confirm_Window();

            leaveConfirmWindow.set_text("Leave base?", new Vector2(8, 0));
            leaveConfirmWindow.add_choice("Yes", new Vector2(16, 16));
            leaveConfirmWindow.add_choice("No", new Vector2(56, 16));
            leaveConfirmWindow.size = new Vector2(96, 48);
            leaveConfirmWindow.loc  =
                new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 -
                leaveConfirmWindow.size / 2;

            var leaveConfirmMenu = new ConfirmationMenu(leaveConfirmWindow);

            leaveConfirmMenu.Confirmed += leaveConfirmMenu_Confirmed;
            leaveConfirmMenu.Canceled  += menu_Closed;
            AddMenu(leaveConfirmMenu);
        }
コード例 #7
0
        void worldmapMenu_Canceled(object sender, EventArgs e)
        {
            var leaveConfirmWindow = new Parchment_Confirm_Window();

            leaveConfirmWindow.set_text("Return to title?");
            leaveConfirmWindow.add_choice("Yes", new Vector2(16, 16));
            leaveConfirmWindow.add_choice("No", new Vector2(56, 16));
            leaveConfirmWindow.index = 1;
            leaveConfirmWindow.size  = new Vector2(96, 48);
            leaveConfirmWindow.loc   =
                new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 -
                leaveConfirmWindow.size / 2;

            var leaveConfirmMenu = new ConfirmationMenu(leaveConfirmWindow);

            leaveConfirmMenu.Confirmed += leaveConfirmMenu_Confirmed;
            leaveConfirmMenu.Canceled  += menu_Closed;
            AddMenu(leaveConfirmMenu);
        }
コード例 #8
0
        // Open save menu
        protected void AddSaveMenu()
        {
            Global.game_temp.map_save_call = false;
            bool overwrite = Global.current_save_info.map_save_exists;

            Parchment_Confirm_Window saveConfirmWindow;

            if (overwrite)
            {
                saveConfirmWindow = new Parchment_Confirm_Window();
                saveConfirmWindow.set_text("Overwrite checkpoint?");
                saveConfirmWindow.add_choice("Yes", new Vector2(16, 16));
                saveConfirmWindow.add_choice("No", new Vector2(56, 16));
                saveConfirmWindow.size = new Vector2(112, 48);
            }
            else
            {
                saveConfirmWindow = new Parchment_Info_Window();
                saveConfirmWindow.set_text("Checkpoint Saved.");
                saveConfirmWindow.size = new Vector2(112, 32);
            }
            saveConfirmWindow.loc =
                new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 -
                saveConfirmWindow.size / 2;

            var saveConfirmMenu = new ConfirmationMenu(saveConfirmWindow);

            if (overwrite)
            {
                saveConfirmMenu.Confirmed += saveConfirmMenu_OverwriteConfirmed;
                saveConfirmMenu.Canceled  += menu_Closed;
            }
            else
            {
                saveConfirmMenu.Confirmed += saveConfirmMenu_Close;

                MenuHandler.SetupSave();
            }
            AddMenu(saveConfirmMenu);
        }
コード例 #9
0
        // Chapter option selected
        void worldmapMenu_ChapterCommandSelected(object sender, EventArgs e)
        {
            var worldmapMenu = sender as WorldmapMenu;

            switch (worldmapMenu.SelectedChapterCommand())
            {
            case ChapterCommands.StartChapter:
                // Open suspend deletion confirm menu, or start chapter
                if (worldmapMenu.PreviousChapterSelectionIncomplete())
                {
                    Global.game_system.play_se(System_Sounds.Buzzer);
                }
                else
                {
                    // If a map save or suspend already exists
#if DEBUG
                    if (Global.save_files_info != null &&
                        (Global.current_save_info.map_save_exists ||
                         Global.current_save_info.suspend_exists))
#else
                    if (Global.current_save_info.map_save_exists ||
                        Global.current_save_info.suspend_exists)
#endif
                    {
                        var deleteSuspendWindow = new Parchment_Confirm_Window();
                        deleteSuspendWindow.loc = new Vector2(Config.WINDOW_WIDTH - 152, Config.WINDOW_HEIGHT - 64) / 2;
                        deleteSuspendWindow.set_text("Temporary saves for this file\nwill be deleted. Proceed?");
                        deleteSuspendWindow.add_choice("Yes", new Vector2(32, 32));
                        deleteSuspendWindow.add_choice("No", new Vector2(88, 32));
                        deleteSuspendWindow.size  = new Vector2(152, 64);
                        deleteSuspendWindow.index = 1;

                        var deleteSuspendMenu = new ConfirmationMenu(deleteSuspendWindow);
                        deleteSuspendMenu.Confirmed += deleteSuspendMenu_Confirmed;
                        deleteSuspendMenu.Canceled  += menu_Closed;
                        AddMenu(deleteSuspendMenu);
                    }
                    else
                    {
                        Global.game_system.play_se(System_Sounds.Confirm);
                        MenuHandler.WorldmapStartChapter();
                    }
                }
                break;

            case ChapterCommands.SelectPrevious:
                // Open select previous chapter menu
                Global.game_system.play_se(System_Sounds.Confirm);
                AddPreviousChapterSelectionMenu(worldmapMenu);
                break;

            case ChapterCommands.Options:
                // Open options menu
                Global.game_system.play_se(System_Sounds.Confirm);
                AddOptionsMenu(false);
                break;

            case ChapterCommands.Unit:
                Global.game_system.play_se(System_Sounds.Confirm);
                Global.game_map = new Game_Map();
                // Open unit menu
                var unitMenu = new Window_Unit();
                unitMenu.Status  += unitMenu_Status;
                unitMenu.Closing += unitMenu_Closing;
                unitMenu.Closed  += unitMenu_Closed;
                AddMenu(unitMenu);
                break;

            case ChapterCommands.Manage:
                Global.game_system.play_se(System_Sounds.Confirm);
                Global.game_state.reset();
                Global.game_map = new Game_Map();
                // Open item management menu
                AddItemManageMenu();
                break;

            case ChapterCommands.Ranking:
                // Open ranking menu
                Global.game_system.play_se(System_Sounds.Confirm);
                var rankingsMenu = new WindowRankingsOverview(
                    MenuData.ChapterId,
                    Global.game_system.Difficulty_Mode);
                rankingsMenu.Closed += menu_Closed;
                AddMenu(rankingsMenu);
                break;
            }
        }
コード例 #10
0
        // Selected an item in the map menu
        private void mapMenu_Selected(object sender, EventArgs e)
        {
            switch ((sender as MapCommandMenu).SelectedOption)
            {
            case Map_Menu_Options.Unit:
                RemoveTopMenu();

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

            case Map_Menu_Options.Data:
                RemoveTopMenu();

                var dataMenu = new Window_Data();
                dataMenu.Closed += menu_ClosedCanceled;
                AddMenu(dataMenu);
                break;

            case Map_Menu_Options.Options:
                RemoveTopMenu();

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

            case Map_Menu_Options.Suspend:
                var suspendConfirmWindow = new Parchment_Confirm_Window();
                suspendConfirmWindow.set_text("Save and quit?", new Vector2(8, 0));
                suspendConfirmWindow.add_choice("Yes", new Vector2(16, 16));
                suspendConfirmWindow.add_choice("No", new Vector2(56, 16));
                suspendConfirmWindow.size = new Vector2(104, 48);
                suspendConfirmWindow.loc  =
                    new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 -
                    suspendConfirmWindow.size / 2;

                var suspendConfirmMenu = new ConfirmationMenu(suspendConfirmWindow);
                suspendConfirmMenu.Confirmed += suspendConfirmMenu_Confirmed;
                suspendConfirmMenu.Canceled  += menu_Closed;
                AddMenu(suspendConfirmMenu);
                break;

            case Map_Menu_Options.End:
                // If there are no units left to move, just end the turn
                if (!Global.game_map.ready_movable_units)
                {
                    MenuHandler.MapMenuEndTurn();
                }
                else
                {
                    var endTurnConfirmWindow = new Parchment_Confirm_Window();
                    endTurnConfirmWindow.set_text("End your turn?", new Vector2(8, 0));
                    endTurnConfirmWindow.add_choice("Yes", new Vector2(16, 16));
                    endTurnConfirmWindow.add_choice("No", new Vector2(56, 16));
                    endTurnConfirmWindow.size = new Vector2(104, 48);
                    endTurnConfirmWindow.loc  =
                        new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 -
                        endTurnConfirmWindow.size / 2;

                    var endTurnConfirmMenu = new ConfirmationMenu(endTurnConfirmWindow);
                    endTurnConfirmMenu.Confirmed += endTurnConfirmMenu_Confirmed;
                    endTurnConfirmMenu.Canceled  += menu_Closed;
                    AddMenu(endTurnConfirmMenu);
                }
                break;
            }
        }