Пример #1
0
 /// <summary>
 /// 変数の内容を初期化(クエスト終了時に初期化しておく)
 /// </summary>
 public static void clearValues()
 {
     m_QuestAreaID    = 0;
     m_QuestMissionID = 0;
     m_PlayerParty    = null;
     m_MasterDataCache.clearCachePlayerAll();
     m_MasterDataCache.clearCacheEnemyAll();
     m_QuestFloor  = 0;
     m_AcquireKey  = false;
     m_LBSCharaIdx = GlobalDefine.PartyCharaIndex.ERROR;
     m_SkillRequestLimitBreak.clearRequest();
     m_QuestTotalTurn              = 0;
     m_BattleRequest               = null;
     m_QuestBuild                  = null;
     m_EnemyParam                  = null;
     m_TargetEnemyCurrent          = InGameDefine.SELECT_NONE;
     m_TargetEnemyWindow           = InGameDefine.SELECT_NONE;
     m_PlayScoreInfo               = null;
     m_AchievementTotalingInBattle = null;
     m_IsKobetsuHP                 = true;
     m_BattleRound                 = 0;
     m_QuestRandSeed               = 0;
     for (int idx = 0; idx < m_PartyMemberHands.Length; idx++)
     {
         m_PartyMemberHands[idx] = 0;
     }
     for (int idx = 0; idx < m_FieldSkillCounts.Length; idx++)
     {
         m_FieldSkillCounts[idx] = 0;
     }
     for (int skill_idx = 0; skill_idx < m_FormedSkillCounts.GetLength(0); skill_idx++)
     {
         for (int member_idx = 0; member_idx < m_FormedSkillCounts.GetLength(1); member_idx++)
         {
             m_FormedSkillCounts[skill_idx, member_idx] = 0;
         }
     }
     m_EnemyToPlayerTarget = GlobalDefine.PartyCharaIndex.ERROR;
     m_AutoPlayState       = AutoPlayState.OFF;
     m_IsUsedAutoPlay      = false;
 }
Пример #2
0
    public static void QuestInitialize(SceneModeContinuousBattle continuous_battle)
    {
        if (SceneGoesParam.HasInstance &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build != null &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild != null)
        {
            m_QuestBuild = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild;
        }

        loadBattlePrefab();

        m_AchievementTotalingInBattle = new AchievementTotalingInBattle();
        m_AchievementTotalingInBattle.initQuset();

        initBattleParam(continuous_battle);

        for (int idx = 0; idx < m_PlayerParty.getPartyMemberMaxCount(); idx++)
        {
            CharaOnce chara_once = m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST);
            if (chara_once != null)
            {
                chara_once.m_PartyCharaIndex = (GlobalDefine.PartyCharaIndex)idx;
            }
        }

        // プレイスコア
        m_PlayScoreInfo = new ServerDataDefine.PlayScoreInfo();
#if false //v5.1.0ではプレイスコアの機能を無効にする
        {
            // クエストスコア補正値
            int quest_base_score      = 0;
            int quest_play_score_rate = 0;

            MasterDataQuest2 master_data_quest = MasterDataUtil.GetQuest2ParamFromID(continuous_battle.m_QuestMissionID);

            // プレイスコア計算対象クエストかどうかを調べる
            if (master_data_quest != null)
            {
                uint quest_score_fix_id = master_data_quest.quest_score_id;
                MasterDataRenewQuestScore master_data_quest_score = MasterFinder <MasterDataRenewQuestScore> .Instance.Find((int)quest_score_fix_id);

                if (master_data_quest_score != null)
                {
                    quest_base_score      = master_data_quest_score.base_score;
                    quest_play_score_rate = master_data_quest_score.play_score_rate;
                }

                if (quest_play_score_rate > 0)
                {
                    if (master_data_quest.consume_type == 1)
                    {
                        if (master_data_quest.consume_value > 0)
                        {
                            m_PlayScoreInfo.setPlayScoreQuestFlag(true);
                        }
                    }
                }
            }

            // 中断復帰していない時だけ有効(なので中断復帰用のローカル保存もしていない)
            if (getRestoreData() == null &&
                m_PlayScoreInfo.isPlayScoreQuest()
                )
            {
                // プレイスコア設定値取得
                MasterDataPlayScore[] master_data_play_score_array = MasterFinder <MasterDataPlayScore> .Instance.GetAll();

                if (master_data_play_score_array.IsNullOrEmpty() == false &&
                    quest_base_score > 0 &&
                    quest_play_score_rate > 0
                    )
                {
                    m_PlayScoreInfo.init(master_data_play_score_array, quest_base_score, quest_play_score_rate);
                }
            }
        }
#endif

        BattleParam.m_MasterDataCache.CachePlayerMasterData(BattleParam.m_PlayerParty);
        BattleSceneManager.Instance.setShowHandAreaAlways(true);

        BattleSceneManager.Instance.PRIVATE_FIELD.QuestInitialize();

        return;
    }