private void SupportPartnerMenu_Selected(object sender, EventArgs e) { var supportPartnerMenu = (sender as SupportCommandMenu); var supportMenu = (Menus.ElementAt(1) as Window_Base_Support); int targetId = supportPartnerMenu.TargetId; if (supportMenu.TrySelectPartner(targetId)) { Global.game_system.play_se(System_Sounds.Confirm); var supportConfirmWindow = new Preparations_Confirm_Window(); supportConfirmWindow.set_text(string.Format("Speak to {0}?", Global.game_actors[targetId].name)); supportConfirmWindow.add_choice("Yes", new Vector2(16, 12)); supportConfirmWindow.add_choice("No", new Vector2(64, 12)); supportConfirmWindow.size = new Vector2(112, 40); supportConfirmWindow.loc = new Vector2(32, 24); supportConfirmWindow.index = 1; var supportConfirmMenu = new ConfirmationMenu(supportConfirmWindow); supportConfirmMenu.Confirmed += SupportConfirmMenu_Confirmed; supportConfirmMenu.Canceled += menu_Closed; AddMenu(supportConfirmMenu); } else { Global.game_system.play_se(System_Sounds.Buzzer); } }
private void UseMenu_Selected(object sender, EventArgs e) { Global.game_system.play_se(System_Sounds.Confirm); var useMenu = (sender as ItemUseMenu); var actor = useMenu.Actor; int itemIndex = useMenu.SelectedItem; var itemData = actor.items[itemIndex]; if (itemData.to_item.targets_inventory()) { var repairWindow = useMenu.GetRepairWindow(); var repairMenu = new ItemRepairMenu( actor.id, itemIndex, repairWindow, useMenu); repairMenu.Selected += RepairMenu_Selected; repairMenu.Canceled += RepairMenu_Canceled; AddMenu(repairMenu); useMenu.HideWindow(); } else { Vector2 cursorLoc = useMenu.CurrentCursorLoc; var useConfirmWindow = UseConfirmMenu(cursorLoc); var useConfirmMenu = new ConfirmationMenu(useConfirmWindow); useConfirmMenu.Confirmed += UseConfirmMenu_Confirmed; useConfirmMenu.Canceled += UseConfirmMenu_Canceled; AddMenu(useConfirmMenu); } }
private void AddMetricsSetMenu() { var metricsSetWindow = new Parchment_Info_Window(); if (Global.gameSettings.General.Metrics == Metrics_Settings.On) { metricsSetWindow.set_text( @"Thank you for participating. Metrics collection can be turned on or off at any time from the options menu."); } else { metricsSetWindow.set_text( @"If you change your mind, metrics collection can be turned on or off at any time from the options menu."); } metricsSetWindow.size = new Vector2(184, 64); metricsSetWindow.loc = (new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) - metricsSetWindow.size) / 2; metricsSetWindow.stereoscopic = Config.TITLE_CHOICE_DEPTH - 1; var metricsSetMenu = new ConfirmationMenu(metricsSetWindow); metricsSetMenu.Confirmed += metricsSetMenu_Close; AddMenu(metricsSetMenu); }
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); } }
private ModalWindowManager() { confirmationMenuPool = new List <ConfirmationMenu>(); //es necesario hacerlo usando <GameObject> porque al ser un prefab el assetbundle no contempla ninguno de sus componentes //asique se debe pedir el gameobject primero y luego obtener su componente confirmationMenuPrefab = SJResources.Instance.LoadGameObjectAndGetComponent <ConfirmationMenu>("ConfirmationMenuPrefab"); }
// Chapter selected void worldmapMenu_ChapterSelected(object sender, EventArgs e) { var worldmapMenu = sender as WorldmapMenu; // Select chapter if (Constants.WorldMap.HARD_MODE_BLOCKED.Contains( MenuData.ChapterId) && Global.game_system.hard_mode) { Global.game_system.Difficulty_Mode = Difficulty_Modes.Normal; worldmapMenu.RefreshDataPanel(); if (Global.game_system.Style != Mode_Styles.Classic) { Global.game_system.play_se(System_Sounds.Cancel); var hardModeBlockWindow = new Parchment_Info_Window(); hardModeBlockWindow.set_text(@"This chapter does not yet have hard mode data, and must be loaded in normal mode. Sorry!"); hardModeBlockWindow.size = new Vector2(160, 64); hardModeBlockWindow.loc = new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 - hardModeBlockWindow.size / 2; var hardModeBlockedMenu = new ConfirmationMenu(hardModeBlockWindow); hardModeBlockedMenu.Confirmed += hardModeBlockedMenu_Close; AddMenu(hardModeBlockedMenu); return; } } if (MenuData.IsSkippingGaiden(MenuData.ChapterId)) { Global.game_system.play_se(System_Sounds.Confirm); var gaidenSkippedWindow = new Parchment_Info_Window(); gaidenSkippedWindow.set_text(@"Proceeding with this chapter will skip available sidequests or alternate routes."); gaidenSkippedWindow.size = new Vector2(152, 64); gaidenSkippedWindow.loc = new Vector2(Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT) / 2 - gaidenSkippedWindow.size / 2; var gaidenSkippedMenu = new ConfirmationMenu(gaidenSkippedWindow); gaidenSkippedMenu.Confirmed += gaidenSkippedMenu_Close; AddMenu(gaidenSkippedMenu); return; } Global.game_system.play_se(System_Sounds.Confirm); SelectChapter(worldmapMenu); }
void saveComparisonMenu_Opened(object sender, EventArgs e) { var window = create_save_overwrite_window(); var saveOverwriteMenu = new ConfirmationMenu(window); saveOverwriteMenu.Confirmed += saveOverwriteMenu_Confirmed; saveOverwriteMenu.Canceled += saveOverwriteMenu_Canceled; AddMenu(saveOverwriteMenu); }
public void DisplayConfirmationMenu(string message, UnityAction onSubmit, UnityAction onCancel, Canvas root) { ConfirmationMenu menu = GetFirstAvailable(); if (menu == null) { menu = GameObject.Instantiate <ConfirmationMenu>(confirmationMenuPrefab); confirmationMenuPool.Add(menu); } menu.Display(message, onSubmit, onCancel, root); }
private void RepairMenu_Selected(object sender, EventArgs e) { Global.game_system.play_se(System_Sounds.Confirm); var repairMenu = (sender as ItemRepairMenu); Vector2 cursorLoc = repairMenu.CurrentCursorLoc; var useConfirmWindow = UseConfirmMenu(cursorLoc); var useConfirmMenu = new ConfirmationMenu(useConfirmWindow); useConfirmMenu.Confirmed += TargetedUseConfirmMenu_Confirmed; useConfirmMenu.Canceled += UseConfirmMenu_Canceled; AddMenu(useConfirmMenu); }
/// <summary> /// Handles player names and personality quiz stuff /// </summary> /// <param name="playerOne"></param> /// <param name="playerTwo"></param> /// <param name="printer"></param> private static void SetupPlayers(out HumanFighter playerOne, out HumanFighter playerTwo, EventHandlerPrinter printer) { string playerOneName = GetName(1); string playerTwoName = GetName(2, playerOneName); playerOne = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, playerOneName); playerTwo = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, playerTwoName); Globals.Output.ClearScreen(); printer.Subscribe(playerOne, playerTwo); Globals.DecisionManager.AssignNameBonuses(playerOne, playerTwo); ConfirmationMenu takePersonalityQuizConfirmationMenu = new ConfirmationMenu(false, "To better get to know your characters, would you like to fill out a short personality questionaire?\n(if you decline, the answers will be asigned randomly)\n", Globals.Input, Globals.Output); MenuSelection takePersonalityQuizSelection = takePersonalityQuizConfirmationMenu.GetInput(); Globals.DecisionManager.PersonalityQuiz(playerOne, playerTwo, takePersonalityQuizSelection.Description == "no", Globals.ChanceService); }
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); }
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); }
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); }
// 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); }
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; } }
protected override void Awake() { base.Awake(); Instance = this; }
void fileCommandMenu_Selected(object sender, EventArgs e) { Global.game_system.play_se(System_Sounds.Confirm); var fileCommandMenu = sender as FileSelectedCommandMenu; var startGameMenu = (Menus.ElementAt(1) as Window_Title_Start_Game); switch (fileCommandMenu.SelectedOption) { case Start_Game_Options.World_Map: MenuHandler.TitleStartGame(startGameMenu.file_id); break; case Start_Game_Options.Load_Suspend: startGameMenu.preview_suspend(); var suspendConfirmWindow = FileConfirmWindow( fileCommandMenu, startGameMenu, "Load suspend?"); var suspendConfirmMenu = new ConfirmationMenu(suspendConfirmWindow); suspendConfirmMenu.Confirmed += suspendConfirmMenu_Confirmed; suspendConfirmMenu.Canceled += suspendConfirmMenu_Canceled; AddMenu(suspendConfirmMenu); break; case Start_Game_Options.Load_Map_Save: startGameMenu.preview_checkpoint(); var checkpointConfirmWindow = FileConfirmWindow( fileCommandMenu, startGameMenu, "Load checkpoint?"); var checkpointConfirmMenu = new ConfirmationMenu(checkpointConfirmWindow); checkpointConfirmMenu.Confirmed += checkpointConfirmMenu_Confirmed; checkpointConfirmMenu.Canceled += suspendConfirmMenu_Canceled; AddMenu(checkpointConfirmMenu); break; case Start_Game_Options.Move: menu_Closed(sender, e); startGameMenu.moving_file = true; break; case Start_Game_Options.Copy: menu_Closed(sender, e); startGameMenu.copying = true; break; case Start_Game_Options.Delete: var deleteConfirmWindow = FileConfirmWindow( fileCommandMenu, startGameMenu, "Are you sure?"); var deleteConfirmMenu = new ConfirmationMenu(deleteConfirmWindow); deleteConfirmMenu.Confirmed += deleteConfirmMenu_Confirmed; deleteConfirmMenu.Canceled += menu_Closed; AddMenu(deleteConfirmMenu); break; } }
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; } }
// 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; } }
// 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; } }
// 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; } }
public static ConfirmationMenuWrapper Wrap(ConfirmationMenu confirmationMenu) => new ConfirmationMenuWrapper { ConfirmationMenu = confirmationMenu };
private void UseItem( ConfirmationMenu useConfirmMenu, ItemUseMenu useMenu, ItemRepairMenu repairMenu) { Game_Actor actor = useMenu.Actor; Data_Item item = useMenu.SelectedItemData.to_item; // Use -1 if nothing int inventoryTarget = -1; if (repairMenu != null) { inventoryTarget = repairMenu.SelectedItem; } // If promoting if (actor.PromotedBy(item)) { // If there are multiple promotion choices if (actor.PromotedBy(item) && actor.NeedsPromotionMenu) { Global.game_map.add_actor_unit(Constants.Team.PLAYER_TEAM, Config.OFF_MAP, actor.id, ""); var unit = Global.game_map.last_added_unit; var promotionChoiceMenu = new PromotionChoiceMenu(unit); promotionChoiceMenu.Selected += PromotionChoiceMenu_Selected; promotionChoiceMenu.Canceled += PromotionChoiceMenu_Canceled; promotionChoiceMenu.Closed += menu_Closed; promotionChoiceMenu.Confirmed += PromotionChoiceMenu_Confirmed; AddMenu(promotionChoiceMenu); var promotionMenuFadeIn = promotionChoiceMenu.FadeInMenu(false); promotionMenuFadeIn.Finished += menu_Closed; AddMenu(promotionMenuFadeIn); } else { Promote(useMenu); } } else { RemoveTopMenu(useConfirmMenu); if (repairMenu != null) { RemoveTopMenu(repairMenu); } Global.game_system.play_se(System_Sounds.Gain); Dictionary <Boosts, int> boosts = actor.item_boosts(item); // Apply item effect actor.item_effect(item, inventoryTarget); actor.recover_hp(); useMenu.UseItem(); useMenu.ShowWindow(); if (item.is_stat_booster() || item.is_growth_booster()) { useMenu.CreateStatsPopup(item, boosts); } else if (item.can_repair) { useMenu.CreateRepairPopup(inventoryTarget); } } }