Example #1
0
    /// <summary>
    /// パーティキャラ設定UIから値を反映
    /// </summary>
    private void setup_from_screen()
    {
        gameObject.transform.Find("SetupUI").gameObject.SetActive(false);

        // バトルの動作モード
        int game_mode = gameObject.transform.Find("SetupUI/DropdownBattleMode").GetComponent <Dropdown>().value;

        m_IsKobetsuHP              = (game_mode >= 1);
        m_KobetsuHPEnemyAttackAll  = (game_mode == 1 || game_mode == 2);
        m_KobetsuHPEnemyTargetHate = (game_mode == 2 || game_mode == 4);
        float enemy_atk_rate = 1.0f;

        if (m_IsKobetsuHP)
        {
            Slider slider = gameObject.transform.Find("SetupUI/SliderEnemyAtkRate").GetComponent <Slider>();
            if (slider != null)
            {
                enemy_atk_rate = slider.value / (float)slider.maxValue;
            }
        }
        m_KobetsuHP_EnemyAtkRate = enemy_atk_rate;

        // プレイヤーパーティ
        for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++)
        {
            BattleSceneStartCharaUI chara_ui      = gameObject.transform.Find("SetupUI/" + menber_ids[idx] + "/Main/BattleDebugCharaSettingUI").GetComponent <BattleSceneStartCharaUI>();
            BattleSceneStartCharaUI chara_ui_link = gameObject.transform.Find("SetupUI/" + menber_ids[idx] + "/Link/BattleDebugCharaSettingUI").GetComponent <BattleSceneStartCharaUI>();

            PlayerCharaData player_chara_data = m_BattleData.m_PlayerParty.m_PlayerCharas[idx];
            if (player_chara_data != null)
            {
                player_chara_data.m_CharaID     = 0;
                player_chara_data.m_LinkCharaID = 0;
                if (chara_ui.isOn())
                {
                    int chara_id = chara_ui.getCharaID();
                    MasterDataParamChara param_chara = BattleParam.m_MasterDataCache.useCharaParam((uint)chara_id);
                    if (param_chara != null)
                    {
                        player_chara_data.m_CharaID    = chara_id;
                        player_chara_data.m_CharaLevel = chara_ui.getCharaLevel();

                        if (chara_ui_link.isOn())
                        {
                            int chara_id_link = chara_ui_link.getCharaID();
                            MasterDataParamChara param_chara_link = BattleParam.m_MasterDataCache.useCharaParam((uint)chara_id_link);
                            if (param_chara_link != null)
                            {
                                player_chara_data.m_LinkCharaID    = chara_id_link;
                                player_chara_data.m_LinkCharaLevel = chara_ui_link.getCharaLevel();
                            }
                        }
                    }
                }
            }
        }

        // 敵設定
        if (m_IsEnableEnemyUI == false)
        {
            return;
        }

        int[] wrk_enemy_group_ids = new int[enemy_gropus.Length];
        int   enemy_group_count   = 0;

        for (int idx = 0; idx < enemy_gropus.Length; idx++)
        {
            BattleSceneStartEnemyUI enemy_ui = gameObject.transform.Find("SetupUI/" + enemy_gropus[idx]).GetComponent <BattleSceneStartEnemyUI>();
            if (enemy_ui != null)
            {
                int enemy_group_id = enemy_ui.getEnemyGroupID();
                if (enemy_group_id != 0)
                {
                    wrk_enemy_group_ids[enemy_group_count] = enemy_group_id;
                    enemy_group_count++;
                }
            }
        }

        m_EnemyPartyIDs = new int[enemy_group_count];
        for (int idx = 0; idx < m_EnemyPartyIDs.Length; idx++)
        {
            m_EnemyPartyIDs[idx] = wrk_enemy_group_ids[idx];
        }
    }
Example #2
0
    void initPlayerParty2()
    {
        // マスターーデータ
        BattleParam.m_MasterDataCache = m_MasterDataCache;

        // ステージ情報
        BattleParam.m_QuestAreaID    = 0;
        BattleParam.m_QuestMissionID = 0;
        BattleParam.m_QuestFloor     = 0;
        BattleParam.m_AcquireKey     = false;

        //
        BattleParam.ClrLBS();
        BattleParam.m_SkillRequestLimitBreak = new SkillRequestParam(BattleParam.SKILL_LIMIT_BREAK_ADD_MAX);

#if UNITY_EDITOR
        BattleParam.m_IsDamageOutput = false;
#endif

        // プレイヤーパーティメンバー
        if (m_BattleData.m_PlayerParty.m_PlayerCharas != null)
        {
            CharaOnce[] player_party_chara = new CharaOnce[m_BattleData.m_PlayerParty.m_PlayerCharas.Length];
            for (int idx = 0; idx < m_BattleData.m_PlayerParty.m_PlayerCharas.Length; idx++)
            {
                PlayerCharaData player_chara_data = m_BattleData.m_PlayerParty.m_PlayerCharas[idx];
                if (player_chara_data != null)
                {
                    MasterDataParamChara master_data = m_MasterDataCache.useCharaParam((uint)player_chara_data.m_CharaID);
                    if (master_data != null)
                    {
                        CharaOnce chara_once = new CharaOnce();
                        if (player_chara_data.m_CharaLevel < 1)
                        {
                            player_chara_data.m_CharaLevel = 1;
                        }
                        if (player_chara_data.m_CharaLevel > master_data.level_max)
                        {
                            player_chara_data.m_CharaLevel = master_data.level_max;
                        }

                        chara_once.CharaSetupFromID((uint)player_chara_data.m_CharaID,
                                                    player_chara_data.m_CharaLevel,
                                                    player_chara_data.m_SkillLevel,
                                                    player_chara_data.m_LimitOverLevel,
                                                    player_chara_data.m_PlusPower,
                                                    player_chara_data.m_PlusHP,

                                                    (uint)player_chara_data.m_LinkCharaID,
                                                    player_chara_data.m_LinkCharaLevel,
                                                    player_chara_data.m_LinkPlusPower,
                                                    player_chara_data.m_LinkPlusHP,
                                                    player_chara_data.m_LinkFriendry,
                                                    player_chara_data.m_LinkLimitOverLevel
                                                    );

                        player_party_chara[idx] = chara_once;
                    }
                }
            }

            // プレイヤーパーティ
            BattleParam.m_PlayerParty = new CharaParty();
            BattleParam.m_PlayerParty.setHero(m_HeroParam.m_Level, (uint)m_HeroParam.m_HeroSkillID);
            BattleParam.m_PlayerParty.PartySetup(player_party_chara, m_IsKobetsuHP);
            BattleParam.m_PlayerParty.m_PartyTotalSP = m_BattleData.m_PlayerParty.m_SP;

            // ステージ情報
            BattleParam.m_QuestAreaID    = (uint)m_BattleData.m_AreaData.m_AreaID;
            BattleParam.m_QuestMissionID = 0;
            BattleParam.m_QuestFloor     = 0;
            BattleParam.m_AcquireKey     = false;
        }

        if (InGameUtil.IsLocalData())
        {
            SceneGoesParamToQuest2Restore restore = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Restore;
            RestorePlayerParty            restore_player_party = restore.m_PlayerPartyRestore;
            if (restore_player_party != null)
            {
                CharaOnce[] player_party_chara = new CharaOnce[(int)GlobalDefine.PartyCharaIndex.MAX];
                for (int idx = 0; idx < player_party_chara.Length; idx++)
                {
                    CharaOnce chara_once = new CharaOnce();
                    chara_once.CharaSetupFromID(restore_player_party.m_PartyCharaID[idx],
                                                restore_player_party.m_PartyCharaLevel[idx],
                                                restore_player_party.m_PartyCharaLBSLv[idx],
                                                restore_player_party.m_PartyCharaLimitOver[idx],
                                                restore_player_party.m_PartyCharaPlusPow[idx],
                                                restore_player_party.m_PartyCharaPlusHP[idx],

                                                restore_player_party.m_PartyCharaLinkID[idx],
                                                restore_player_party.m_PartyCharaLinkLv[idx],
                                                restore_player_party.m_PartyCharaLinkPlusPow[idx],
                                                restore_player_party.m_PartyCharaLinkPlusHP[idx],
                                                restore_player_party.m_PartyCharaLinkPoint[idx],
                                                restore_player_party.m_PartyCharaLinkLimitOver[idx]
                                                );

                    //------------------------------
                    // リミットブレイクコスト復帰
                    //------------------------------
                    chara_once.m_CharaLimitBreak = restore.m_PlayerPartyRestore.m_PartyCharaLimitBreak[idx];

                    player_party_chara[idx] = chara_once;
                }

                // プレイヤーパーティ
                BattleParam.m_PlayerParty = new CharaParty();
                BattleParam.m_PlayerParty.setHero(0 /*m_HeroParam.m_Level*/, 0 /*(uint)m_HeroParam.m_HeroSkillID*/);
                BattleParam.m_PlayerParty.PartySetup(player_party_chara, restore_player_party.m_IsKobetsuHP);

                //------------------------------
                // パーティ状態異常復帰(CharaParty.PartySetup() より後に復帰)
                //------------------------------
                BattleParam.m_PlayerParty.m_Ailments = restore_player_party.m_PartyAilments;
                BattleParam.m_PlayerParty.m_Ailments.restoreFromSaveData();

                BattleParam.m_PlayerParty.m_HPCurrent.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHP);
                BattleParam.m_PlayerParty.m_PartyTotalSP = restore_player_party.m_QuestSP;
                BattleParam.m_PlayerParty.m_HPMax.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHPMax);
                BattleParam.m_PlayerParty.m_PartyTotalSPMax   = restore_player_party.m_QuestSPMax;
                BattleParam.m_PlayerParty.m_Hate              = restore_player_party.m_Hate;
                BattleParam.m_PlayerParty.m_Hate_ProvokeTurn  = restore_player_party.m_Hate_ProvokeTurn;
                BattleParam.m_PlayerParty.m_Hate_ProvokeOrder = restore_player_party.m_Hate_ProvokeOrder;

                BattleParam.m_PlayerParty.m_BattleHero.restoreSkillTurn(restore_player_party.m_HeroSkillTurn);
                BattleParam.m_PlayerParty.m_BattleAchive = restore_player_party.m_BattleAchive;
            }
        }
    }