//------------------------------------------------------------------------ /*! * @brief 初期化処理 */ //------------------------------------------------------------------------ protected override void Start() { base.Start(); if (SceneModeContinuousBattle.Instance != null) { MasterDataQuest2 master = MasterDataUtil.GetQuest2ParamFromID(SceneModeContinuousBattle.Instance.m_QuestMissionID); if (master != null) { if (m_InGameMenuQuest2 != null) { m_QuestName = master.quest_name; } if (master.enable_autoplay != MasterDataDefineLabel.BoolType.ENABLE) { // オートプレイ禁止でなければ、オートプレイボタンの初期状態を設定(出撃画面での設定値を反映) LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); bool is_auto_play = (cOption.m_OptionAutoPlayEnable == (int)LocalSaveDefine.OptionAutoPlayEnable.ON); if (is_auto_play) { BattleParam.setAutoPlayState(BattleParam.AutoPlayState.ON); } else { BattleParam.setAutoPlayState(BattleParam.AutoPlayState.OFF); } } else { // オートプレイ禁止 BattleParam.setAutoPlayState(BattleParam.AutoPlayState.NONE); } } } }
//---------------------------------------------------------------------------- /*! * @brief 主人公スキル発動タッチ処理: */ //---------------------------------------------------------------------------- public void OnHeroToutch() { // メニューオープンタイミングのチェック bool isOpen = InGameUtil.ChkInGameOpenWindowTiming(); if (isOpen == false) { return; } // チュートリアル中の発動禁止処理. if (BattleParam.IsTutorial()) { if (BattleSceneManager.Instance.isTutorialForbidLimitBreak(GlobalDefine.PartyCharaIndex.HERO)) { return; } } LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.ON) { // ヒーロースキル発動確認ウィンドウを開く if (InGameMenuManagerQuest2.Instance != null) { InGameMenuManagerQuest2.Instance.OpenSkillMenu(GlobalDefine.PartyCharaIndex.HERO, 0, m_HeroTotalSkillPrv); } } else { // ヒーロースキルを即時発動 BattleParam.RequestLBS(GlobalDefine.PartyCharaIndex.HERO); } }
/// <summary> /// パーティインターフェイスのノーマルスキル発動条件の表示状態を取得 /// </summary> public static bool isShowPartyInterfaceSkillCost() { bool ret_val = false; LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { ret_val = ((LocalSaveDefine.OptionBattleSkillCost)cOption.m_OptionBattleSkillCost == LocalSaveDefine.OptionBattleSkillCost.ON); } return(ret_val); }
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); }
//---------------------------------------------------------------------------- /*! * @brief Unity固有処理:更新処理 ※定期処理 */ //---------------------------------------------------------------------------- protected void Update() { if (m_seLoader != null) { m_seLoader.Tick(); } // オプション設定の反映 if (LocalSaveManager.HasInstance == true) { LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { bool bSEOptionActive = (cOption.m_OptionSE == (int)LocalSaveDefine.OptionSE.ON); if (m_SEEnable != bSEOptionActive) { m_SEEnable = bSEOptionActive; AudioSource _audio = gameObject.GetComponent <AudioSource>(); if (_audio != null) { if (!m_SEEnable) { _audio.volume = 0.0f; } else { _audio.volume = 1.0f; } } } bool bVoiceOptionActive = (cOption.m_OptionVoice == (int)LocalSaveDefine.OptionVoice.ON); if (m_VoiceEnable != bVoiceOptionActive) { m_VoiceEnable = bVoiceOptionActive; if (!m_VoiceEnable) { // ミュートON m_AudioSrcVoice.mute = true; } else { // ミュートOFF m_AudioSrcVoice.mute = false; } } } } }
public override void startAutoPlay() { setSkillInfo(); for (int member_idx = 0; member_idx < m_LimitBreakSkillTurnID.Length; member_idx++) { m_LimitBreakSkillTurnID[member_idx] = 0; } LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); m_IsUseLimitBreakSkill = (cOption.m_OptionAutoPlayUseAS == (int)LocalSaveDefine.OptionAutoPlayUseAS.ON); m_IsStopOnEntryBossBattle = (cOption.m_OptionAutoPlayStopBoss == (int)LocalSaveDefine.OptionAutoPlayStopBoss.ON); isStopAutoPlay(); }
//------------------------------------------------------------------------ // @brief ボイス再生 // @param[in] fix_id 再生情報FixID //------------------------------------------------------------------------ static public void PlayVoice(uint fix_id) { if (SoundManager.HasInstance) { float playTime = 0.0f; SoundManager.Instance.PlayVoice(fix_id, out playTime); if (BGMManager.HasInstance) { bool voice_on = true; LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { voice_on = (cOption.m_OptionVoice == (int)LocalSaveDefine.OptionVoice.ON); } if (voice_on == true) { BGMManager.Instance.Ducking(playTime); } } } }
public static void setAutoPlayState(AutoPlayState auto_play_state) { if (m_AutoPlayState != auto_play_state) { m_AutoPlayState = auto_play_state; bool is_on_auto_play = (m_AutoPlayState == AutoPlayState.ON); if (is_on_auto_play) { m_IsUsedAutoPlay = true; } LocalSaveDefine.OptionAutoPlayEnable option_on_off = (is_on_auto_play) ? LocalSaveDefine.OptionAutoPlayEnable.ON : LocalSaveDefine.OptionAutoPlayEnable.OFF; LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption.m_OptionAutoPlayEnable != (int)option_on_off) { cOption.m_OptionAutoPlayEnable = (int)option_on_off; LocalSaveManager.Instance.SaveFuncOption(cOption); // ここでオプションのセーブは処理落ちの原因になるかも } } }
//------------------------------------------------------------------------ /*! * @brief 定期更新処理 */ //------------------------------------------------------------------------ void Update() { if (!LocalSaveManager.HasInstance) { return; } //-------------------------------------------------------------------- // Mute設定 //-------------------------------------------------------------------- if (mIsMute == false) { LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { bool bOptionActiveBGM = (cOption.m_OptionBGM == (int)LocalSaveDefine.OptionBGM.OFF); Mute(bOptionActiveBGM); } } else { Mute(true); } //-------------------------------------------------------------------- // 再生リクエスト処理 //-------------------------------------------------------------------- BGMPlayData data = null; for (int i = 0; i < m_BGMPlayData.Length; i++) { data = m_BGMPlayData[i]; if (data == null) { continue; } if (data.dataUsing == false) { continue; } // 再生クラスの空きを検索 BGMAudioSource audio = null; for (int j = 0; j < m_BGMAudioSource.Length; j++) { audio = m_BGMAudioSource[j]; if (audio == null) { continue; } if (audio.playState != BGMPlayState.BGM_STATE_NONE) { continue; } // 再生 audio.Play(data); data.Clear(); break; } } //-------------------------------------------------------------------- // ダッキング処理 //-------------------------------------------------------------------- if (mDuckingTime != 0.0f && mDuckingTime > AudioSettings.dspTime) { if (mDuckingEnable == false) { StartCoroutine(TransVolume(1.0f, 0.5f, 0.05f, true)); } } else { if (mDuckingEnable == true) { StartCoroutine(TransVolume(0.5f, 1.0f, 0.6f, false)); } } //-------------------------------------------------------------------- // 再生管理クラス更新 //-------------------------------------------------------------------- for (int i = 0; i < m_BGMAudioSource.Length; i++) { BGMAudioSource audio = m_BGMAudioSource[i]; if (audio == null) { continue; } if (audio.playState != BGMPlayState.BGM_STATE_READY && audio.playState != BGMPlayState.BGM_STATE_PLAYING && audio.playState != BGMPlayState.BGM_STATE_FADEIN && audio.playState != BGMPlayState.BGM_STATE_FADEOUT) { continue; } // 再生情報更新 audio.Update(); // ダッキング処理 audio.duckingScale = mDuckingVolumeScale; } }
void Update() { // 画面位置調整(アスペクト比) if (m_BattleLogic.m_InitialPhase >= BattleLogic.InitialPhase.QUEST_INIT) { adjustScreen(); } if (m_TopRightAnchor != null) { if (SafeAreaControl.HasInstance) { RectTransform rect_transform = m_TopRightAnchor.GetComponent <RectTransform>(); if (rect_transform != null) { rect_transform.anchoredPosition = new Vector2(320.0f, -SafeAreaControl.Instance.bar_height); } } } // チュートリアル更新 m_BattleTutorialManager.updateTutorial(Time.deltaTime); // オートプレイ m_BattleAutoPlay.update(Time.deltaTime); // タッチ乗っ取り時の手の表示 _updateOverrideTouchHand(); // パーティHP表示更新 if (BattleParam.m_PlayerParty != null) { BattleParam.m_PlayerParty.updateDispHp(Time.deltaTime); } switch (m_BattleScenePhase) { case BattleScenePhase.NOT_BATTLE: { if (m_IsChangeBattleScenePhase) { m_IsChangeBattleScenePhase = false; } // 手札エリアはオブジェクトの初期化が完了したら表示できる. bool is_show_hand_area = m_IsShowHandArea && m_BattleLogic.m_InitialPhase >= BattleLogic.InitialPhase.QUEST_INIT; m_PartsGroup1.SetActive(is_show_hand_area); m_PartsGroup2.SetActive(false); } return; //break; case BattleScenePhase.IN_BATTLE: if (m_IsChangeBattleScenePhase) { m_IsChangeBattleScenePhase = false; } m_PartsGroup1.SetActive(true); m_PartsGroup2.SetActive(true); break; } if (gameObject.IsActive()) { // エネミー詳細ウィンドウの制御 if (BattleParam.m_TargetEnemyWindow != InGameDefine.SELECT_NONE) { if (m_IsShowEnemyDetailWindow == false) { m_IsShowEnemyDetailWindow = true; if (m_EnemyDetailWindowObject == null) { if (m_EnemyDetailWindowPrefab != null) { m_EnemyDetailWindowObject = GameObject.Instantiate(m_EnemyDetailWindowPrefab); BattleSceneUtil.setRide(m_EnemyDetailWindowObject.transform, SceneObjReferGameMain.Instance.m_UIInstanceTargetWindowPosition.transform); } } if (m_EnemyDetailWindowObject != null) { m_EnemyDetailWindowObject.SetActive(true); } } else { if (m_EnemyDetailWindowObject == null || m_EnemyDetailWindowObject.IsNullOrInactive()) { BattleParam.m_TargetEnemyWindow = InGameDefine.SELECT_NONE; m_IsShowEnemyDetailWindow = false; m_EnemyDetailWindowObject = null; } } } // スキル成立時プレイヤーへ向かって飛んでいくエフェクト MasterDataDefineLabel.ElementType[,] elements = m_BattleLogic.m_SkillIconArea.getNewSkillElementInfo(); if (elements != null) { for (int field_idx = 0; field_idx < elements.GetLength(0); field_idx++) { for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++) { MasterDataDefineLabel.ElementType element = elements[field_idx, idx]; if (element != MasterDataDefineLabel.ElementType.NONE) { Transform start_trans = m_BattleCardArea.GetComponent <BattleCardArea>().getEffectPosition(field_idx, BattleScene._BattleCardManager.EffectInfo.EffectPosition.FIELD_AREA); Transform goal_trans = m_BattleLogic.m_BattlePlayerPartyViewControl.getEffectTransform((GlobalDefine.PartyCharaIndex)idx); GameObject effect_obj = EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_SkillSetupNaught, Vector3.zero, Vector3.zero, start_trans, null); if (effect_obj != null) { effect_obj.transform.tweenToParent(goal_trans, 0.3f); } } } } } m_BattleLogic.m_SkillIconArea.clearNewSkillElementInfo(); } // ユーザー操作可能になってからの経過フレーム数 { BattleParam.BattlePhase phase = BattleParam.getBattlePhase(); if (phase == BattleParam.BattlePhase.INPUT || phase == BattleParam.BattlePhase.INPUT_HANDLING ) { m_InputEnableFrameCounter++; } else { m_InputEnableFrameCounter = 0; } } // 手札領域を暗くするマスクのオンオフ if (m_InputEnableFrameCounter >= 2) { m_CardMask.SetActive(false); } else { m_CardMask.SetActive(true); } // パーティUIの拡縮に応じたマスクコリジョンの制御 { float offset_y = 0.0f; if (BattleParam.IsKobetsuHP) { if (BattleParam.isShowPartyInterfaceSkillCost()) { offset_y += 0.1f; } if (BattleParam.isShowPartyInterfaceSkillTurn()) { offset_y += 0.1f; } } m_UIMask.transform.localPosition = new Vector3(0.0f, offset_y, 0.0f); } // ガイド表示 if (m_GuideDispTransform != null) { LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { bool is_change = false; if (m_InputEnableFrameCounter >= 2) { if (m_GuideDispMode != cOption.m_OptionGuide) { is_change = true; m_GuideDispMode = cOption.m_OptionGuide; } } else { if (m_GuideDispMode != -1) { is_change = true; m_GuideDispMode = -1; } } if (is_change) { m_GuideDispTransform.gameObject.SetActive(m_GuideDispMode > 0); } } } }
//---------------------------------------------------------------------------- /*! * @brief オプション項目タッチ処理 */ //---------------------------------------------------------------------------- public void OnOption(int index) { bool sw = false; LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); switch (index) { case 0: { if (cOption.m_OptionBGM == (int)LocalSaveDefine.OptionBGM.OFF) { cOption.m_OptionBGM = (int)LocalSaveDefine.OptionBGM.ON; sw = true; } else { cOption.m_OptionBGM = (int)LocalSaveDefine.OptionBGM.OFF; } } break; case 1: { if (cOption.m_OptionSE == (int)LocalSaveDefine.OptionSE.OFF) { cOption.m_OptionSE = (int)LocalSaveDefine.OptionSE.ON; sw = true; } else { cOption.m_OptionSE = (int)LocalSaveDefine.OptionSE.OFF; } } break; case 2: { if (cOption.m_OptionGuide == (int)LocalSaveDefine.OptionGuide.OFF) { cOption.m_OptionGuide = (int)LocalSaveDefine.OptionGuide.ON; sw = true; } else { cOption.m_OptionGuide = (int)LocalSaveDefine.OptionGuide.OFF; } } break; case 3: { if (cOption.m_OptionTIPS == (int)LocalSaveDefine.OptionTips.OFF) { cOption.m_OptionTIPS = (int)LocalSaveDefine.OptionTips.ON; sw = true; } else { cOption.m_OptionTIPS = (int)LocalSaveDefine.OptionTips.OFF; } } break; case 4: { if (cOption.m_OptionVoice == (int)LocalSaveDefine.OptionVoice.OFF) { cOption.m_OptionVoice = (int)LocalSaveDefine.OptionVoice.ON; sw = true; } else { cOption.m_OptionVoice = (int)LocalSaveDefine.OptionVoice.OFF; } } break; case 5: { if (cOption.m_OptionSpeed == (int)LocalSaveDefine.OptionSpeed.OFF) { cOption.m_OptionSpeed = (int)LocalSaveDefine.OptionSpeed.ON; sw = true; } else { cOption.m_OptionSpeed = (int)LocalSaveDefine.OptionSpeed.OFF; } } break; case 6: { if (cOption.m_OptionBattleSkillTurn == (int)LocalSaveDefine.OptionBattleSkillTurn.OFF) { cOption.m_OptionBattleSkillTurn = (int)LocalSaveDefine.OptionBattleSkillTurn.ON; sw = true; } else { cOption.m_OptionBattleSkillTurn = (int)LocalSaveDefine.OptionBattleSkillTurn.OFF; } InGamePlayerParty.Instance.ASTurnInfo(sw); } break; case 7: { if (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.OFF) { cOption.m_OptionConfirmAS = (int)LocalSaveDefine.OptionConfirmAS.ON; sw = true; } else { cOption.m_OptionConfirmAS = (int)LocalSaveDefine.OptionConfirmAS.OFF; } } break; case 8: { if (cOption.m_OptionBattleSkillCost == (int)LocalSaveDefine.OptionBattleSkillCost.OFF) { cOption.m_OptionBattleSkillCost = (int)LocalSaveDefine.OptionBattleSkillCost.ON; sw = true; } else { cOption.m_OptionBattleSkillCost = (int)LocalSaveDefine.OptionBattleSkillCost.OFF; } InGamePlayerParty.Instance.NormalSkillInfo(sw); } break; case 9: { if (cOption.m_OptionBattleAchieve == (int)LocalSaveDefine.OptionBattleAchieve.OFF) { cOption.m_OptionBattleAchieve = (int)LocalSaveDefine.OptionBattleAchieve.ON; sw = true; } else { cOption.m_OptionBattleAchieve = (int)LocalSaveDefine.OptionBattleAchieve.OFF; } } break; case 10: { if (cOption.m_OptionQuestEndTips == (int)LocalSaveDefine.OptionQuestEndTips.OFF) { cOption.m_OptionQuestEndTips = (int)LocalSaveDefine.OptionQuestEndTips.ON; sw = true; } else { cOption.m_OptionQuestEndTips = (int)LocalSaveDefine.OptionQuestEndTips.OFF; } } break; case 11: { if (cOption.m_OptionAutoPlayStopBoss == (int)LocalSaveDefine.OptionAutoPlayStopBoss.OFF) { cOption.m_OptionAutoPlayStopBoss = (int)LocalSaveDefine.OptionAutoPlayStopBoss.ON; sw = true; } else { cOption.m_OptionAutoPlayStopBoss = (int)LocalSaveDefine.OptionAutoPlayStopBoss.OFF; } } break; case 12: { if (cOption.m_OptionAutoPlayUseAS == (int)LocalSaveDefine.OptionAutoPlayUseAS.OFF) { cOption.m_OptionAutoPlayUseAS = (int)LocalSaveDefine.OptionAutoPlayUseAS.ON; sw = true; } else { cOption.m_OptionAutoPlayUseAS = (int)LocalSaveDefine.OptionAutoPlayUseAS.OFF; } } break; default: break; } LocalSaveManager.Instance.SaveFuncOption(cOption); m_InGameMenuQuest2.setOptionSwitch(index, sw); SoundUtil.PlaySE(SEID.SE_MENU_OK); }
private void updateOptionButtonView() { LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { if (cOption.m_OptionBGM == (int)LocalSaveDefine.OptionBGM.ON) { Bgm_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Bgm_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionSE == (int)LocalSaveDefine.OptionSE.ON) { Se_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Se_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionGuide == (int)LocalSaveDefine.OptionGuide.ON) { Guide_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Guide_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionTIPS == (int)LocalSaveDefine.OptionTips.ON) { Tips_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Tips_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionVoice == (int)LocalSaveDefine.OptionVoice.ON) { Voice_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Voice_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionSpeed == (int)LocalSaveDefine.OptionSpeed.ON) { Speed_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Speed_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionBattleSkillTurn == (int)LocalSaveDefine.OptionBattleSkillTurn.ON) { Skill_turn_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Skill_turn_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.ON) { Confirm_as_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Confirm_as_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionBattleSkillCost == (int)LocalSaveDefine.OptionBattleSkillCost.ON) { Skill_cost_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Skill_cost_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionBattleAchieve == (int)LocalSaveDefine.OptionBattleAchieve.ON) { Battle_achieve_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Battle_achieve_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionQuestEndTips == (int)LocalSaveDefine.OptionQuestEndTips.ON) { Quest_end_tips_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Quest_end_tips_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionAutoPlayStopBoss == (int)LocalSaveDefine.OptionAutoPlayStopBoss.ON) { Auto_play_stop_boss_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Auto_play_stop_boss_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } if (cOption.m_OptionAutoPlayUseAS == (int)LocalSaveDefine.OptionAutoPlayUseAS.ON) { Auto_play_use_as_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[0]; } else { Auto_play_use_as_switch = InGameMenuManagerQuest2.Instance.m_OptionButton[1]; } } }
/// <summary> /// チュートリアル向けの特殊処理 /// </summary> private void updateForTutorial() { if (BattleParam.IsTutorial() && m_InGameMenuQuest2.Menu_active != false && m_InGameMenuQuest2.Option_active != false ) { BattleTutorialManager.TutorialOptionMenuPhase tutorial_option_menu_phase = BattleParam.getTutorialOptionMenuPhase(); switch (tutorial_option_menu_phase) { case BattleTutorialManager.TutorialOptionMenuPhase.INIT: { // チュートリアルで説明する項目を初期化 LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { if (cOption.m_OptionBattleSkillTurn != (int)LocalSaveDefine.OptionBattleSkillTurn.OFF) { OnOption(6); } if (cOption.m_OptionBattleSkillCost != (int)LocalSaveDefine.OptionBattleSkillCost.OFF) { OnOption(8); } } } break; case BattleTutorialManager.TutorialOptionMenuPhase.SKILL_TURN: { m_InGameMenuQuest2.Bgm_switch_enable = false; m_InGameMenuQuest2.Se_switch_enable = false; m_InGameMenuQuest2.Guide_switch_enable = false; m_InGameMenuQuest2.Tips_switch_enable = false; m_InGameMenuQuest2.Voice_switch_enable = false; m_InGameMenuQuest2.Speed_switch_enable = false; m_InGameMenuQuest2.Skill_turn_switch_enable = true; m_InGameMenuQuest2.Confirm_as_switch_enable = false; m_InGameMenuQuest2.Skill_cost_switch_enable = false; m_InGameMenuQuest2.Battle_achieve_switch_enable = false; m_InGameMenuQuest2.Quest_end_tips_switch_enable = false; m_InGameMenuQuest2.Auto_play_stop_boss_switch_enable = false; m_InGameMenuQuest2.Auto_play_use_as_switch_enable = false; m_InGameMenuQuest2.Back_button_enable = false; m_InGameMenuQuest2.Back_text_color = new Color32(255, 255, 255, 128); m_InGameMenuQuest2.IsScreenBgTouch = false; } break; case BattleTutorialManager.TutorialOptionMenuPhase.SKILL_COST: { m_InGameMenuQuest2.Bgm_switch_enable = false; m_InGameMenuQuest2.Se_switch_enable = false; m_InGameMenuQuest2.Guide_switch_enable = false; m_InGameMenuQuest2.Tips_switch_enable = false; m_InGameMenuQuest2.Voice_switch_enable = false; m_InGameMenuQuest2.Speed_switch_enable = false; m_InGameMenuQuest2.Skill_turn_switch_enable = false; m_InGameMenuQuest2.Confirm_as_switch_enable = false; m_InGameMenuQuest2.Skill_cost_switch_enable = true; m_InGameMenuQuest2.Battle_achieve_switch_enable = false; m_InGameMenuQuest2.Quest_end_tips_switch_enable = false; m_InGameMenuQuest2.Auto_play_stop_boss_switch_enable = false; m_InGameMenuQuest2.Auto_play_use_as_switch_enable = false; m_InGameMenuQuest2.Back_button_enable = false; m_InGameMenuQuest2.Back_text_color = new Color32(255, 255, 255, 128); m_InGameMenuQuest2.IsScreenBgTouch = false; } break; case BattleTutorialManager.TutorialOptionMenuPhase.BACK_BUTTON: { m_InGameMenuQuest2.Bgm_switch_enable = false; m_InGameMenuQuest2.Se_switch_enable = false; m_InGameMenuQuest2.Guide_switch_enable = false; m_InGameMenuQuest2.Tips_switch_enable = false; m_InGameMenuQuest2.Voice_switch_enable = false; m_InGameMenuQuest2.Speed_switch_enable = false; m_InGameMenuQuest2.Skill_turn_switch_enable = false; m_InGameMenuQuest2.Confirm_as_switch_enable = false; m_InGameMenuQuest2.Skill_cost_switch_enable = false; m_InGameMenuQuest2.Battle_achieve_switch_enable = false; m_InGameMenuQuest2.Quest_end_tips_switch_enable = false; m_InGameMenuQuest2.Auto_play_stop_boss_switch_enable = false; m_InGameMenuQuest2.Auto_play_use_as_switch_enable = false; m_InGameMenuQuest2.Back_button_enable = true; m_InGameMenuQuest2.Back_text_color = Color.white; m_InGameMenuQuest2.IsScreenBgTouch = true; } break; case BattleTutorialManager.TutorialOptionMenuPhase.ALL_ON: default: { m_InGameMenuQuest2.Bgm_switch_enable = true; m_InGameMenuQuest2.Se_switch_enable = true; m_InGameMenuQuest2.Guide_switch_enable = true; m_InGameMenuQuest2.Tips_switch_enable = true; m_InGameMenuQuest2.Voice_switch_enable = true; m_InGameMenuQuest2.Speed_switch_enable = true; m_InGameMenuQuest2.Skill_turn_switch_enable = true; m_InGameMenuQuest2.Confirm_as_switch_enable = true; m_InGameMenuQuest2.Skill_cost_switch_enable = true; m_InGameMenuQuest2.Battle_achieve_switch_enable = true; m_InGameMenuQuest2.Quest_end_tips_switch_enable = true; m_InGameMenuQuest2.Auto_play_stop_boss_switch_enable = true; m_InGameMenuQuest2.Auto_play_use_as_switch_enable = true; m_InGameMenuQuest2.Back_button_enable = true; m_InGameMenuQuest2.Back_text_color = Color.white; m_InGameMenuQuest2.IsScreenBgTouch = true; } break; } } }
//---------------------------------------------------------------------------- /*! * @brief 通信処理 */ //---------------------------------------------------------------------------- private void ServerCommunicate() { //-------------------------------- // サーバーに送る情報を構築 //-------------------------------- uint unQuestID = (uint)MainMenuParam.m_QuestSelectMissionID; uint unQuestState = 0; if (MainMenuParam.m_QuestSelectAreaAmendStamina != 100) { unQuestState = (int)MasterDataDefineLabel.AmendType.STAMINA; } // エリア補正タイプ:補正:スタミナ半減 else if (MainMenuParam.m_QuestSelectAreaAmendEXP != 100) { unQuestState = (int)MasterDataDefineLabel.AmendType.EXP; } // エリア補正タイプ:補正:経験値アップ else if (MainMenuParam.m_QuestSelectAreaAmendCoin != 100) { unQuestState = (int)MasterDataDefineLabel.AmendType.MONEY; } // エリア補正タイプ:補正:コイン else if (MainMenuParam.m_QuestSelectAreaAmendDrop != 100) { unQuestState = (int)MasterDataDefineLabel.AmendType.DROP; } // エリア補正タイプ:補正:ドロップ率 else if (MainMenuParam.m_QuestSelectAreaAmendTicket != 100) { unQuestState = (int)MasterDataDefineLabel.AmendType.TICKET; } // エリア補正タイプ:補正:チケット //---------------------------------------- // 選択されている助っ人を取得 //---------------------------------------- // PacketStructFriend cHelper = UserDataAdmin.Instance.SearchHelper( MainMenuParam.m_QuestHelperUserID ); PacketStructFriend cHelper = MainMenuParam.m_QuestHelper; if (cHelper == null) { Debug.LogError("SelectFriendNone"); return; } //---------------------------------------- // フレンド使用のサイクルをもとにFP発生判定。 // ここでも使用宣言が走るので使用情報を書き込んでおく //---------------------------------------- // 指定のフレンドがフレンドポイント取得可能かどうか // bugweb3907対応、以前はクエストの取得可能情報も得ていたが、サーバーサイドに移動し、フレンドのみ見るように bool bFriendPointActive = (LocalSaveManager.Instance.GetLocalSaveUseFriend(cHelper.user_id) == null); //---------------------------------------- // フレンドポイント付与情報をセーブ。 //---------------------------------------- uint unGetFriendPt = 0; if (bFriendPointActive == true) { // フレンドポイントを取得 unGetFriendPt = MainMenuUtil.GetSelectFriendPoint(cHelper, MainMenuParam.m_QuestEventFP); } LocalSaveManager.Instance.SaveFuncQuestFriendPointActive(unGetFriendPt, UserDataAdmin.Instance.m_StructPlayer.have_friend_pt); //---------------------------------------- //エリア補正リストを取得 //---------------------------------------- TemplateList <MasterDataAreaAmend> AreaAmendList = MainMenuParam.m_QuestAreaAmendList; uint[] aunAreaAmendID = new uint[AreaAmendList.m_BufferSize]; for (int cnt = 0; cnt < AreaAmendList.m_BufferSize; cnt++) { aunAreaAmendID[cnt] = AreaAmendList[cnt].fix_id; } bool is_auto_play = false; MasterDataQuest2 master = MasterDataUtil.GetQuest2ParamFromID(unQuestID); if (master.enable_autoplay != MasterDataDefineLabel.BoolType.ENABLE) { LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); is_auto_play = (cOption.m_OptionAutoPlayEnable == (int)LocalSaveDefine.OptionAutoPlayEnable.ON); } //-------------------------------- // API通信リクエスト発行 //-------------------------------- switch (MasterDataUtil.GetQuestType(unQuestID)) { case MasterDataDefineLabel.QuestType.NORMAL: { ServerDataUtilSend.SendPacketAPI_Quest2Start( unQuestID , unQuestState , cHelper.user_id , cHelper.unit , bFriendPointActive , UserDataAdmin.Instance.m_StructPlayer.unit_party_current , MainMenuParam.m_QuestEventFP , (MainMenuParam.m_BeginnerBoost != null) ? (int)MainMenuParam.m_BeginnerBoost.fix_id : 0 , aunAreaAmendID , is_auto_play , cHelper.unit_link ) .setSuccessAction(_data => { requestSuccessQuest2(_data); }) .setErrorAction(_data => { requestError(_data); }) .SendStart(); } break; case MasterDataDefineLabel.QuestType.CHALLENGE: { ServerDataUtilSend.SendPacketAPI_ChallengeQuestStart( unQuestID , (uint)MainMenuParam.m_ChallengeQuestLevel , MainMenuParam.m_bChallengeQuestSkip , unQuestState , cHelper.user_id , cHelper.unit , bFriendPointActive , UserDataAdmin.Instance.m_StructPlayer.unit_party_current , MainMenuParam.m_QuestEventFP , (MainMenuParam.m_BeginnerBoost != null) ? (int)MainMenuParam.m_BeginnerBoost.fix_id : 0 , aunAreaAmendID , is_auto_play , cHelper.unit_link ) .setSuccessAction(_data => { requestSuccessChallengeQuest(_data); }) .setErrorAction(_data => { requestError(_data); }) .SendStart(); } break; case MasterDataDefineLabel.QuestType.NONE: break; default: break; } }
// Update is called once per frame void Update() { if (m_UpdateMode == UpdateMode.NONE) { return; } m_AnimSpeed = (m_IsSpeedUp) ? 1.75f : 1.0f; LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); if (cOption != null) { m_AnimSpeed *= (cOption.m_OptionSpeed != 0) ? 1.0f : 0.6f; } float delta_time = Time.deltaTime; for (int idx = 0; idx < m_CutinObjects.Length; idx++) { m_CutinObjects[idx].update(delta_time); } if (m_DisappearCutinObjectInfo != null) { if (m_DisappearCutinObjectInfo.getPhase() != CutinObjectInfo.Phase.DISSPPEAR) { m_DisappearCutinObjectInfo = null; } } if (m_CurrentCutinObjectInfo != null && m_CurrentCutinObjectInfo.getPhase() == CutinObjectInfo.Phase.APPEAR) { // スキル表示物を下地のスケールに合わせる(キャラ出現時用) m_SkillAreaTransform.localScale = m_CurrentCutinObjectInfo.m_BGTransform.localScale; return; } m_SkillAreaTransform.localScale = Vector3.one; updateSkillAnim(delta_time); if (m_UpdateMode != UpdateMode.STEP_WAIT && m_SkillTime <= 0.0f) { // 割り込みスキル if (m_ResurrectInfo != null) { m_SkillInfos.Insert(0, m_ResurrectInfo); m_ResurrectInfo = null; } // アニメーションしていないので次のスキルへ if (m_IsNoCutinMode == false) { if (m_SkillInfos.Count > 0) { int old_key = -1; if (m_CurrentSkillInfo != null) { old_key = m_CurrentSkillInfo.m_Key; } m_CurrentSkillInfo = m_SkillInfos[0]; m_SkillInfos.RemoveAt(0); if (old_key != m_CurrentSkillInfo.m_Key) { int caster_chara_id = 0; MasterDataDefineLabel.ElementType skill_element = m_CurrentSkillInfo.m_SkillElement; if (m_CurrentSkillInfo.m_Caster == GlobalDefine.PartyCharaIndex.HERO) { caster_chara_id = 0; if (UserDataAdmin.HasInstance) { ServerDataDefine.PacketStructHero current_hero = UserDataAdmin.Instance.getCurrentHero(); if (current_hero != null) { MasterDataHero master_data_hero = MasterFinder <MasterDataHero> .Instance.Find(current_hero.hero_id); if (master_data_hero != null) { caster_chara_id = -current_hero.hero_id; if (skill_element == MasterDataDefineLabel.ElementType.NONE) { skill_element = master_data_hero.getElement(); } } } } } else { CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(m_CurrentSkillInfo.m_Caster, CharaParty.CharaCondition.EXIST); if (chara_once != null) { MasterDataParamChara chara_master = chara_once.m_CharaMasterDataParam; if ((m_CurrentSkillInfo.m_SkillType == ESKILLTYPE.eLINK || m_CurrentSkillInfo.m_SkillType == ESKILLTYPE.eLINKPASSIVE) && chara_once.m_LinkParam != null ) { MasterDataParamChara link_chara_master = chara_once.m_LinkParam.m_cCharaMasterDataParam; if (link_chara_master != null) { chara_master = link_chara_master; } } caster_chara_id = (int)chara_master.fix_id; if (skill_element == MasterDataDefineLabel.ElementType.NONE) { skill_element = chara_master.element; } } } if (m_CurrentCutinObjectInfo != null) { m_DisappearCutinObjectInfo = m_CurrentCutinObjectInfo; m_CurrentCutinObjectInfo = null; m_DisappearCutinObjectInfo.animDisappear(); } if (m_DisappearCutinObjectInfo != m_CutinObjects[0]) { m_CurrentCutinObjectInfo = m_CutinObjects[0]; m_CutinObjects[1].m_RootObject.transform.SetSiblingIndex(0); m_CutinObjects[0].m_RootObject.transform.SetSiblingIndex(1); } else { m_CurrentCutinObjectInfo = m_CutinObjects[1]; m_CutinObjects[0].m_RootObject.transform.SetSiblingIndex(0); m_CutinObjects[1].m_RootObject.transform.SetSiblingIndex(1); } m_CurrentCutinObjectInfo.initAnim(caster_chara_id, m_BgImages[(int)skill_element], m_IsEnableCharaImage); m_CurrentCutinObjectInfo.animAppear(); // キャラ出現時用のスキル表示物を設定 //if (m_CurrentSkillInfo != null) { m_SkillObjects[0].SetActive(false); setupSkillPanel(m_SkillObjects[1], m_CurrentSkillInfo, m_SkillLocateNext1.transform); m_SkillObjects[1].SetActive(true); if (m_SkillInfos.Count >= 1 && m_CurrentSkillInfo.m_Key == m_SkillInfos[0].m_Key) { setupSkillPanel(m_SkillObjects[2], m_SkillInfos[0], m_SkillLocateNext2.transform); m_SkillObjects[2].SetActive(true); } else { m_SkillObjects[2].SetActive(false); } } m_SkillAreaTransform.localScale = new Vector3(1.0f, 0.0f, 1.0f); } else { if (m_CurrentCutinObjectInfo != null && m_CurrentSkillInfo != null && m_CurrentSkillInfo.m_SkillElement != MasterDataDefineLabel.ElementType.NONE ) { Sprite bg_elem_sprite = m_BgImages[(int)m_CurrentSkillInfo.m_SkillElement]; m_CurrentCutinObjectInfo.startChangeElementAnimation(bg_elem_sprite, CutinObjectInfo.ANIM_TIME_SKILL * 0.25f / m_AnimSpeed); } } startSkillAnim(); } else { if (m_ResurrectInfo == null) { m_CurrentSkillInfo = null; if (m_CurrentCutinObjectInfo != null) { // キャラの消滅アニメ開始 m_DisappearCutinObjectInfo = m_CurrentCutinObjectInfo; m_CurrentCutinObjectInfo = null; m_DisappearCutinObjectInfo.animDisappear(); m_UpdateMode = UpdateMode.AUTO; } else { // すべて終了 if (m_DisappearCutinObjectInfo == null) { m_UpdateMode = UpdateMode.NONE; } } } } } else { if (m_SkillInfos.Count > 0) { m_CurrentSkillInfo = m_SkillInfos[0]; m_SkillInfos.RemoveAt(0); startSkillAnim(); } else { m_CurrentSkillInfo = null; m_UpdateMode = UpdateMode.NONE; } } } }
//---------------------------------------------------------------------------- // @brief ローカル通知登録 //---------------------------------------------------------------------------- private static void RegisterNotification() { //------------------------------------------------------------------------ // ローカル通知の有効無効 //------------------------------------------------------------------------ bool enable_notification = false; if (LocalSaveManager.Instance == null) { return; } LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption(); enable_notification = (cOption.m_OptionNotification == (int)LocalSaveDefine.OptionNotification.ON); if (enable_notification == false) { return; } if (TimeManager.Instance == null) { return; } //------------------------------------------------------------------------ // ローカル通知の登録 //------------------------------------------------------------------------ int delay = 0; bool bSeisekiden = false; MasterDataNotification[] notification_param_array = null; if (MasterDataUtil.IsMasterDataNotification()) { notification_param_array = MasterDataUtil.GetMasterDataNotification(); } MasterDataNotification notification_param; if (notification_param_array.IsNullOrEmpty() == false) { // パッチテキスト(通知表示しない期間)取得 v360 string sCancelS = Patcher.Instance.GetLocalNotificationCancelStart(); string sCancelE = Patcher.Instance.GetLocalNotificationCancelEnd(); // 通知文言があるやつ for (uint i = 0; i < notification_param_array.Length; i++) { notification_param = notification_param_array[i]; if (notification_param == null) { continue; } string d = notification_param.timing_start.ToString() + @"00"; // string f = "yyyyMMddHHmm"; string f = "yyyyMMddHHmm"; DateTime dt = DateTime.ParseExact(d, f, null); TimeSpan ts = dt.Subtract(TimeManager.Instance.m_TimeNow); if (ts.TotalSeconds < 0) { // 期限を過ぎたデータは消す MasterDataEvent.fix_idと同じ LocalSaveManager.Instance.RemoveFuncNotificationRequest(notification_param.fix_id); continue; } //プッシュ通知のタイプが設定でOFFになっているなら弾く if ((notification_param.notification_type == MasterDataDefineLabel.NotificationType.EVENT || notification_param.notification_type == MasterDataDefineLabel.NotificationType.CASINO || notification_param.notification_type == MasterDataDefineLabel.NotificationType.SEISEKIDEN) && cOption.m_NotificationEvent == (int)LocalSaveDefine.OptionNotificationEvent.OFF) { continue; } if (notification_param.notification_type == MasterDataDefineLabel.NotificationType.SEISEKIDEN) { //すでに聖石殿の通知をしていたらその後の聖石殿の通知は弾く if (bSeisekiden == true) { continue; } } if (sCancelS.IsNOTNullOrEmpty() && sCancelE.IsNOTNullOrEmpty()) { //イベント開始タイミングがプッシュ通知を表示しない期間内ならはじくv360 if (sCancelS.Length == f.Length && sCancelE.Length == f.Length) { //パッチ登録テキストはYYYYMMDDhhmm形式のためそのままdatetimeに変換 DateTime dtCancelS = DateTime.ParseExact(sCancelS, f, null); DateTime dtCancelE = DateTime.ParseExact(sCancelE, f, null); if ((dtCancelS != null && dtCancelS <= dt) && (dtCancelE != null && dtCancelE > dt)) { // はじく continue; } } } delay = (int)ts.TotalSeconds; string notification_title = notification_param.notification_title; string notification_body = notification_param.notification_body; if (notification_param.type != (int)ServerDataDefine.NOTIFICATION_TYPE.GACHA) { // イベント通知フラグをチェックする LocalSaveEventNotification cNotification = LocalSaveManager.Instance.CheckFuncNotificationRequest(notification_param.fix_id); if (cNotification != null) { // データが登録されている場合 if (cNotification.m_Push == false) { // 通知しないならそのまま戻る continue; } else { // 通知する場合で、テキストデータが無い場合。 // 初期値を入れる if (notification_body == null || notification_body.Length <= 0) { MasterDataEvent cEventData = MasterDataUtil.GetMasterDataEventFromFixID(cNotification.m_FixID); if (cEventData != null) { MasterDataArea cAreaData = MasterDataUtil.GetAreaParamFromEventID(cEventData.event_id); if (cAreaData != null) { // 紐づいているエリアを見る notification_title = GameTextUtil.GetText("LOCAL_NOTIFICATION_REQUEST_TITLE"); notification_body = string.Format(GameTextUtil.GetText("LOCAL_NOTIFICATION_REQUEST_MESSAGE"), cAreaData.area_name); } // 情報が無ければ飛ばさない } } } } } // テキストデータが存在するものだけ通知に出す if (notification_body != null && notification_body.Length > 0) { PQDMLocalNotification.SendNotification(notification_title, notification_body, delay); if (notification_param.notification_type == MasterDataDefineLabel.NotificationType.SEISEKIDEN) { bSeisekiden = true; } } } // 通知情報を保存する LocalSaveManager.Instance.SaveFuncNotificationRequest(); } #region ==== スタミナMAX ==== PacketStructPlayer cPlayer = UserDataAdmin.Instance.m_StructPlayer; // スタミナが減少チェック // 通知設定チェック if (cPlayer != null && m_StaminaNow < cPlayer.stamina_max && cOption.m_NotificationStaminaMax == (int)LocalSaveDefine.OptionNotificationStaminaMax.ON) { //---------------------------------------- // スタミナ回復シミュレート // 回復に関連する時間系データを算出 //---------------------------------------- DateTime cRecoveryTime = TimeUtil.ConvertServerTimeToLocalTime(cPlayer.stamina_recover); // 開始時刻取得 uint unRecoveryValue = cPlayer.stamina_max - m_StaminaNow; // スタミナ回復量取得 // 終了時刻算出 cRecoveryTime = cRecoveryTime.AddSeconds(GlobalDefine.STAMINA_RECOVERY_SEC * unRecoveryValue); //---------------------------------------- // ローカル通知設定 //---------------------------------------- TimeSpan ts = cRecoveryTime.Subtract(TimeManager.Instance.m_TimeNow); if (ts.TotalSeconds >= 0) { delay = (int)ts.TotalSeconds; PQDMLocalNotification.SendNotification(UnityUtil.GetText("LOCAL_NOTIFICATION_STAMINA_TITLE"), UnityUtil.GetText("LOCAL_NOTIFICATION_STAMINA_MESSAGE"), delay); } } #endregion }
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); // 状態を保存する } }