/// <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]; } }
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; } } }