Пример #1
0
    //------------------------------------------------------------------------

    /*!
     *          @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);
                }
            }
        }
    }
Пример #2
0
    //----------------------------------------------------------------------------

    /*!
     *          @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);
        }
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
    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);
    }
Пример #5
0
    //----------------------------------------------------------------------------

    /*!
     *          @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;
                    }
                }
            }
        }
    }
Пример #6
0
    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();
    }
Пример #7
0
    //------------------------------------------------------------------------
    //	@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);
                }
            }
        }
    }
Пример #8
0
    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);  // ここでオプションのセーブは処理落ちの原因になるかも
            }
        }
    }
Пример #9
0
    //------------------------------------------------------------------------

    /*!
     *          @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;
        }
    }
Пример #10
0
    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);
                }
            }
        }
    }
Пример #11
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);
    }
Пример #12
0
    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];
            }
        }
    }
Пример #13
0
    /// <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;
            }
        }
    }
Пример #14
0
    //----------------------------------------------------------------------------

    /*!
     *          @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;
        }
    }
Пример #15
0
    // 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;
                }
            }
        }
    }
Пример #16
0
    //----------------------------------------------------------------------------
    //	@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
    }
Пример #17
0
    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); // 状態を保存する
        }
    }