public OptionMenuItem AddItem() { OptionMenuItem item = Attach <OptionMenuItem>("Prefab/OptionMenu/OptionMenuItem", m_Cointent); OptionItem.Add(item); m_LastUpdateCount = 5; return(item); }
public void OnSelect(OptionMenu.ItemType _type) { OptionMenuItem selectItem = m_OptionMenu.GetOptionItem(_type); switch (_type) { case OptionMenu.ItemType.NOTIFICATION: { bool isSwitch = m_OptionMenu.GetOptionItem(_type).IsSwitch(); m_OptionMenu.GetOptionItem(OptionMenu.ItemType.NOT_EVENT).SetSwitch(isSwitch); // イベント通知設定を変更 m_OptionMenu.GetOptionItem(OptionMenu.ItemType.NOT_STAMINA).SetSwitch(isSwitch); // スタミナ通知設定を変更 } break; case OptionMenu.ItemType.NOT_EVENT: case OptionMenu.ItemType.NOT_STAMINA: { if (m_OptionMenu.GetOptionItem(_type).IsSwitch() == true) { // 通知設定がONになった場合は、アプリケーションの通知設定もONにする m_OptionMenu.GetOptionItem(OptionMenu.ItemType.NOTIFICATION).SetSwitch(true); } } break; } //----------------------------------------------- // 状態を保存する //----------------------------------------------- LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); cOption.m_OptionBGM = CheckSwitch(OptionMenu.ItemType.BGM) ? (int)LocalSaveDefine.OptionBGM.ON : (int)LocalSaveDefine.OptionBGM.OFF; cOption.m_OptionSE = CheckSwitch(OptionMenu.ItemType.SE) ? (int)LocalSaveDefine.OptionSE.ON : (int)LocalSaveDefine.OptionSE.OFF; cOption.m_OptionGuide = CheckSwitch(OptionMenu.ItemType.GUIDE) ? (int)LocalSaveDefine.OptionGuide.ON : (int)LocalSaveDefine.OptionGuide.OFF; cOption.m_OptionSpeed = CheckSwitch(OptionMenu.ItemType.SPEED) ? (int)LocalSaveDefine.OptionSpeed.ON : (int)LocalSaveDefine.OptionSpeed.OFF; cOption.m_OptionBattleSkillTurn = CheckSwitch(OptionMenu.ItemType.SKILL_TURN) ? (int)LocalSaveDefine.OptionBattleSkillTurn.ON : (int)LocalSaveDefine.OptionBattleSkillTurn.OFF; cOption.m_OptionConfirmAS = CheckSwitch(OptionMenu.ItemType.CONFIRM_AS) ? (int)LocalSaveDefine.OptionConfirmAS.ON : (int)LocalSaveDefine.OptionConfirmAS.OFF; cOption.m_OptionBattleSkillCost = CheckSwitch(OptionMenu.ItemType.SKILL_COST) ? (int)LocalSaveDefine.OptionBattleSkillCost.ON : (int)LocalSaveDefine.OptionBattleSkillCost.OFF; cOption.m_OptionBattleAchieve = CheckSwitch(OptionMenu.ItemType.BATTLE_ACHIEVE) ? (int)LocalSaveDefine.OptionBattleAchieve.ON : (int)LocalSaveDefine.OptionBattleAchieve.OFF; cOption.m_OptionQuestEndTips = CheckSwitch(OptionMenu.ItemType.QUEST_END_TIPS) ? (int)LocalSaveDefine.OptionQuestEndTips.ON : (int)LocalSaveDefine.OptionQuestEndTips.OFF; cOption.m_OptionAutoPlayStopBoss = CheckSwitch(OptionMenu.ItemType.AUTO_PLAY_STOP_BOSS) ? (int)LocalSaveDefine.OptionAutoPlayStopBoss.ON : (int)LocalSaveDefine.OptionAutoPlayStopBoss.OFF; cOption.m_OptionAutoPlayUseAS = CheckSwitch(OptionMenu.ItemType.AUTO_PLAY_USE_AS) ? (int)LocalSaveDefine.OptionAutoPlayUseAS.ON : (int)LocalSaveDefine.OptionAutoPlayUseAS.OFF; cOption.m_OptionNotification = CheckSwitch(OptionMenu.ItemType.NOTIFICATION) ? (int)LocalSaveDefine.OptionNotification.ON : (int)LocalSaveDefine.OptionNotification.OFF; cOption.m_NotificationEvent = CheckSwitch(OptionMenu.ItemType.NOT_EVENT) ? (int)LocalSaveDefine.OptionNotificationEvent.ON : (int)LocalSaveDefine.OptionNotificationEvent.OFF; cOption.m_NotificationStaminaMax = CheckSwitch(OptionMenu.ItemType.NOT_STAMINA) ? (int)LocalSaveDefine.OptionNotificationStaminaMax.ON : (int)LocalSaveDefine.OptionNotificationStaminaMax.OFF; LocalSaveManager.Instance.SaveFuncOption(cOption); }
protected override void LoadContent() { base.LoadContent(); Vector2 size = GetScreenPosition(new Vector2(0.6f, 0.75f)); Bounds = new Rectangle(0, 0, (int)size.X, (int)size.Y); OptionMenuItem<Tuple<int, int>> resolution = new OptionMenuItem<Tuple<int, int>>("Resolution", "res"); foreach (var res in GraphicsAdapter.DefaultAdapter.SupportedDisplayModes.Select(m => new Tuple<int,int>(m.Width, m.Height)).Distinct().OrderBy(r => r.Item1)) resolution.AddOption(res.Item1 + "x" + res.Item2, res); resolution.SetStartOption(new Tuple<int, int>(gameInstance.Graphics.PreferredBackBufferWidth, gameInstance.Graphics.PreferredBackBufferHeight)); resolution.Bounds = Bounds; resolution.Font = MenuFont; resolution.ArrowLeft = ArrowLeft; resolution.ArrowRight = ArrowRight; resolution.Background = OptionSelected; resolution.FontColor = ItemColor; resolution.FontColorSelected = Color.Black; AddMenuItem(resolution); OptionMenuItem<int> displayMode = new OptionMenuItem<int>("Display Mode", "display"); displayMode.AddOption("Fullscreen", 1); displayMode.AddOption("Windowed", 2); displayMode.SetStartOption(gameInstance.Graphics.IsFullScreen ? 1 : 2); displayMode.Bounds = Bounds; displayMode.Font = MenuFont; displayMode.ArrowLeft = ArrowLeft; displayMode.ArrowRight = ArrowRight; displayMode.Background = OptionSelected; displayMode.FontColor = ItemColor; displayMode.FontColorSelected = Color.Black; AddMenuItem(displayMode); TextInputMenuItem playerName = new TextInputMenuItem("Player Name", "name"); playerName.Bounds = Bounds; playerName.Font = MenuFont; playerName.EnteredText = GameSettings.Default.PlayerName; playerName.Background = OptionSelected; playerName.FontColor = ItemColor; playerName.FontColorSelected = Color.Black; AddMenuItem(playerName); BoolOptionMenuItem shadows = new BoolOptionMenuItem("Shadows", "shadows"); shadows.Bounds = Bounds; shadows.Font = MenuFont; shadows.SetStartOption(GameSettings.Default.Shadows); shadows.ArrowLeft = ArrowLeft; shadows.ArrowRight = ArrowRight; shadows.Background = OptionSelected; shadows.FontColor = ItemColor; shadows.FontColorSelected = Color.Black; AddMenuItem(shadows); BoolOptionMenuItem bloom = new BoolOptionMenuItem("Bloom", "bloom"); bloom.Bounds = Bounds; bloom.Font = MenuFont; bloom.SetStartOption(GameSettings.Default.Bloom); bloom.ArrowLeft = ArrowLeft; bloom.ArrowRight = ArrowRight; bloom.Background = OptionSelected; bloom.FontColor = ItemColor; bloom.FontColorSelected = Color.Black; AddMenuItem(bloom); MenuItem item = new StateActionMenuItem("Cancel", GameState.MainMenu); item.Background = ButtonBackground; item.Font = MenuFont; item.FontColor = ItemColor; item.FontColorSelected = ItemColorSelected; item.SetWidth(Bounds.Width); AddMenuItem(item); item = new ActionMenuItem("Apply", ApplySettings); item.Background = ButtonBackground; item.Font = MenuFont; item.FontColor = ItemColor; item.FontColorSelected = ItemColorSelected; item.SetWidth(Bounds.Width); AddMenuItem(item); }
protected override void PageSwitchSetting(bool bActive, bool bBack) { base.PageSwitchSetting(bActive, bBack); //-------------------------------- // 以下は有効になったタイミングでの処理なので、 // フェードアウト指示の場合にはスルー //-------------------------------- if (bActive == false) { return; } //-------------------------------- // 戻り処理の場合は再構築スルー //-------------------------------- if (bBack == true) { return; } //ページ初期化処理 if (m_OptionMenu == null) { m_OptionMenu = GetComponentInChildren <OptionMenu>(); m_OptionMenu.SetPositionAjustStatusBar(new Vector2(0, 4), new Vector2(-40, -372)); LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); string cMessageON = GameTextUtil.GetText("option_display7"); string cMessageOFF = GameTextUtil.GetText("option_display16"); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.BGM, GameTextUtil.GetText("option_display1"), cMessageON, (cOption.m_OptionBGM == (int)LocalSaveDefine.OptionBGM.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.SE, GameTextUtil.GetText("option_display2"), cMessageON, (cOption.m_OptionSE == (int)LocalSaveDefine.OptionSE.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.GUIDE, GameTextUtil.GetText("option_display3"), cMessageON, (cOption.m_OptionGuide == (int)LocalSaveDefine.OptionGuide.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.SPEED, GameTextUtil.GetText("option_display6"), cMessageOFF, (cOption.m_OptionSpeed == (int)LocalSaveDefine.OptionSpeed.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.SKILL_TURN, GameTextUtil.GetText("battle_text01"), cMessageOFF, (cOption.m_OptionBattleSkillTurn == (int)LocalSaveDefine.OptionBattleSkillTurn.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.CONFIRM_AS, GameTextUtil.GetText("option_display17"), cMessageON, (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.SKILL_COST, GameTextUtil.GetText("battle_text02"), cMessageOFF, (cOption.m_OptionBattleSkillCost == (int)LocalSaveDefine.OptionBattleSkillCost.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.BATTLE_ACHIEVE, GameTextUtil.GetText("battle_text03"), cMessageOFF, (cOption.m_OptionBattleAchieve == (int)LocalSaveDefine.OptionBattleAchieve.ON)); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.QUEST_END_TIPS, GameTextUtil.GetText("option_display18"), cMessageON, (cOption.m_OptionQuestEndTips == (int)LocalSaveDefine.OptionQuestEndTips.ON)); m_OptionMenu.AddSpace().SetHight(10); // スペース m_OptionMenu.AddItem().setup(OptionMenu.ItemType.NONE, GameTextUtil.GetText("option_display19"), null, false).SetShowSwitch(false); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.AUTO_PLAY_STOP_BOSS, GameTextUtil.GetText("option_display20"), cMessageON, (cOption.m_OptionAutoPlayStopBoss == (int)LocalSaveDefine.OptionAutoPlayStopBoss.ON)).SetIndent(1); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.AUTO_PLAY_USE_AS, GameTextUtil.GetText("option_display21"), cMessageON, (cOption.m_OptionAutoPlayUseAS == (int)LocalSaveDefine.OptionAutoPlayUseAS.ON)).SetIndent(1); m_OptionMenu.AddSpace().SetHight(10); // スペース //------------------------------------ // 通知設定 //------------------------------------ bool bNotification = (cOption.m_OptionNotification == (int)LocalSaveDefine.OptionNotification.ON); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.NOTIFICATION, GameTextUtil.GetText("option_display8"), cMessageON, bNotification); if (bNotification == false) { // アプリケーションの通知設定がOFFの場合は、他の通知設定もOFFにする cOption.m_NotificationEvent = (int)LocalSaveDefine.OptionNotificationEvent.OFF; cOption.m_NotificationStaminaMax = (int)LocalSaveDefine.OptionNotificationStaminaMax.OFF; } m_OptionMenu.AddItem().setup(OptionMenu.ItemType.NOT_EVENT, GameTextUtil.GetText("option_display10"), cMessageON, (cOption.m_NotificationEvent == (int)LocalSaveDefine.OptionNotificationEvent.ON)).SetIndent(1); m_OptionMenu.AddItem().setup(OptionMenu.ItemType.NOT_STAMINA, GameTextUtil.GetText("option_display11"), cMessageON, (cOption.m_NotificationStaminaMax == (int)LocalSaveDefine.OptionNotificationStaminaMax.ON)).SetIndent(1); //------------------------------------ // ボタンのイベント //------------------------------------ for (int i = 0; i < (int)OptionMenu.ItemType.MAX; i++) { OptionMenuItem item = m_OptionMenu.GetOptionItem((OptionMenu.ItemType)i); if (item != null) { item.DidSelectItem = OnSelect; } } LocalSaveManager.Instance.SaveFuncOption(cOption); // 状態を保存する } }