private void resetEffectAssignObj() { if (_m_EffectPrefab != null) { _m_EffectPrefab.destroy(); Destroy(_m_EffectPrefab.gameObject); } _m_EffectPrefab = null; }
/// <summary> /// /// </summary> /// <param name="effect_assign">実体化されたゲームオブジェクトのコンポーネント渡す</param> public void setEffectAssignObj(SceneObjReferGameMainEffect effect_assign) { resetEffectAssignObj(); if (effect_assign != null) { _m_EffectPrefab = effect_assign; _m_EffectPrefab.transform.SetParent(transform, false); m_EffectPrefab.init(); } }
private IEnumerator loadReplaceAssetInfo() { // 差し替え情報を探す MasterDataQuestAppearance[] quest_appearances = MasterFinder <MasterDataQuestAppearance> .Instance.GetAll(); MasterDataQuestAppearance quest_appearance = null; if (m_AreaCategoryID > 0) { for (int idx = 0; idx < quest_appearances.Length; idx++) { MasterDataQuestAppearance wrk_quest_appearance = quest_appearances[idx]; if (wrk_quest_appearance.area_category_id == m_AreaCategoryID) { quest_appearance = wrk_quest_appearance; break; } } } bool is_finish_download = false; #if !TEST_LOCAL_ASSETBUNDLE // 差し替え情報を元にアセットバンドルをダウンロード if (quest_appearance != null) { MasterDataAssetBundlePath assetbundle_path = MasterFinder <MasterDataAssetBundlePath> .Instance.Find((int)quest_appearance.asset_bundle_id); if (assetbundle_path != null) { AssetBundler.Create().Set(assetbundle_path.name, (result) => { if (result.AssetBundle != null) { m_ReplaceAssetReference = ReplaceAssetReference.getReplaceAssetReference(result.AssetBundle, m_TimingType); } is_finish_download = true; }, (o) => { is_finish_download = true; } ).Load(); } else { is_finish_download = true; } } else { is_finish_download = true; } #else //TEST_LOCAL_ASSETBUNDLE // StreamingAssetsフォルダ内のデータでテスト WWW www = debug_LoadLocalAssetBundle("kensyou"); while (www.isDone == false) { yield return(null); } m_AssetBundle = www.assetBundle; if (m_AssetBundle != null) { m_ReplaceAssetReference = ReplaceAssetReference.getReplaceAssetReference(m_AssetBundle, m_TimingType); //m_AssetBundle.Unload(false); } is_finish_download = true; #endif //TEST_LOCAL_ASSETBUNDLE SceneObjReferGameMainEffect effect_assign = null; if (m_IsUseEffect) { GameObject effect_prefab = Resources.Load <GameObject>("Prefab/BattleScene/InGameEffectPrefab"); GameObject effect_obj = Instantiate(effect_prefab); // effect_prefabのコンポーネントを書き換えると以前に書き換えた情報が残っているので別オブジェクトを一回生成 effect_assign = effect_obj.GetComponent <SceneObjReferGameMainEffect>(); } while (is_finish_download == false) { yield return(null); } if (m_ReplaceAssetReference != null) { // エフェクトを差し替え if (m_IsUseEffect) { replaceEffect(ref effect_assign); } // SEを差し替え replaceSound(); } if (m_IsUseEffect) { SceneObjReferGameMain.Instance.setEffectAssignObj(effect_assign); } yield return(null); m_SerialNo++; if (m_ReplaceAssetReference != null) { m_Status = Status.REPLACE_MODE; } else { if (m_AssetBundle != null) { m_AssetBundle.Unload(false); m_AssetBundle = null; } m_Status = Status.NONE; } }
/// <summary> /// エフェクトデータを差し替える /// </summary> /// <param name="effect_assign"></param> private SceneObjReferGameMainEffect replaceEffect(ref SceneObjReferGameMainEffect effect_assign) { if (m_ReplaceAssetReference == null) { return(effect_assign); } if (effect_assign == null) { return(effect_assign); } ReplaceAssetReferenceEffect effect_replace_info = m_ReplaceAssetReference.m_Effect; // エフェクトを差し替え if (effect_replace_info.m_NAUGHT_MA_00 != null) { effect_assign.m_Naught_MA_00 = effect_replace_info.m_NAUGHT_MA_00; effect_assign.m_Naught_MM_00 = effect_replace_info.m_NAUGHT_MA_00; } if (effect_replace_info.m_NAUGHT_MA_01 != null) { effect_assign.m_Naught_MA_01 = effect_replace_info.m_NAUGHT_MA_01; effect_assign.m_Naught_MM_01 = effect_replace_info.m_NAUGHT_MA_01; } if (effect_replace_info.m_NAUGHT_SA_00 != null) { effect_assign.m_Naught_SA_00 = effect_replace_info.m_NAUGHT_SA_00; effect_assign.m_Naught_SM_00 = effect_replace_info.m_NAUGHT_SA_00; } if (effect_replace_info.m_NAUGHT_SA_01 != null) { effect_assign.m_Naught_SA_01 = effect_replace_info.m_NAUGHT_SA_01; effect_assign.m_Naught_SM_01 = effect_replace_info.m_NAUGHT_SA_01; } if (effect_replace_info.m_NAUGHT_SA_02 != null) { effect_assign.m_Naught_SA_02 = effect_replace_info.m_NAUGHT_SA_02; effect_assign.m_Naught_SM_02 = effect_replace_info.m_NAUGHT_SA_02; } if (effect_replace_info.m_FIRE_MA_00 != null) { effect_assign.m_Fire_MA_00 = effect_replace_info.m_FIRE_MA_00; effect_assign.m_Fire_MM_00 = effect_replace_info.m_FIRE_MA_00; } if (effect_replace_info.m_FIRE_MA_01 != null) { effect_assign.m_Fire_MA_01 = effect_replace_info.m_FIRE_MA_01; effect_assign.m_Fire_MM_01 = effect_replace_info.m_FIRE_MA_01; } if (effect_replace_info.m_FIRE_SA_00 != null) { effect_assign.m_Fire_SA_00 = effect_replace_info.m_FIRE_SA_00; effect_assign.m_Fire_SM_00 = effect_replace_info.m_FIRE_SA_00; } if (effect_replace_info.m_FIRE_SA_01 != null) { effect_assign.m_Fire_SA_01 = effect_replace_info.m_FIRE_SA_01; effect_assign.m_Fire_SM_01 = effect_replace_info.m_FIRE_SA_01; } if (effect_replace_info.m_FIRE_SA_02 != null) { effect_assign.m_Fire_SA_02 = effect_replace_info.m_FIRE_SA_02; effect_assign.m_Fire_SM_02 = effect_replace_info.m_FIRE_SA_02; } if (effect_replace_info.m_WATER_MA_00 != null) { effect_assign.m_Water_MA_00 = effect_replace_info.m_WATER_MA_00; effect_assign.m_Water_MM_00 = effect_replace_info.m_WATER_MA_00; } if (effect_replace_info.m_WATER_MA_01 != null) { effect_assign.m_Water_MA_01 = effect_replace_info.m_WATER_MA_01; effect_assign.m_Water_MM_01 = effect_replace_info.m_WATER_MA_01; } if (effect_replace_info.m_WATER_SA_00 != null) { effect_assign.m_Water_SA_00 = effect_replace_info.m_WATER_SA_00; effect_assign.m_Water_SM_00 = effect_replace_info.m_WATER_SA_00; } if (effect_replace_info.m_WATER_SA_01 != null) { effect_assign.m_Water_SA_01 = effect_replace_info.m_WATER_SA_01; effect_assign.m_Water_SM_01 = effect_replace_info.m_WATER_SA_01; } if (effect_replace_info.m_WATER_SA_02 != null) { effect_assign.m_Water_SA_02 = effect_replace_info.m_WATER_SA_02; effect_assign.m_Water_SM_02 = effect_replace_info.m_WATER_SA_02; } if (effect_replace_info.m_LIGHT_MA_00 != null) { effect_assign.m_Light_MA_00 = effect_replace_info.m_LIGHT_MA_00; effect_assign.m_Light_MM_00 = effect_replace_info.m_LIGHT_MA_00; } if (effect_replace_info.m_LIGHT_MA_01 != null) { effect_assign.m_Light_MA_01 = effect_replace_info.m_LIGHT_MA_01; effect_assign.m_Light_MM_01 = effect_replace_info.m_LIGHT_MA_01; } if (effect_replace_info.m_LIGHT_SA_00 != null) { effect_assign.m_Light_SA_00 = effect_replace_info.m_LIGHT_SA_00; effect_assign.m_Light_SM_00 = effect_replace_info.m_LIGHT_SA_00; } if (effect_replace_info.m_LIGHT_SA_01 != null) { effect_assign.m_Light_SA_01 = effect_replace_info.m_LIGHT_SA_01; effect_assign.m_Light_SM_01 = effect_replace_info.m_LIGHT_SA_01; } if (effect_replace_info.m_LIGHT_SA_02 != null) { effect_assign.m_Light_SA_02 = effect_replace_info.m_LIGHT_SA_02; effect_assign.m_Light_SM_02 = effect_replace_info.m_LIGHT_SA_02; } if (effect_replace_info.m_DARK_MA_00 != null) { effect_assign.m_Dark_MA_00 = effect_replace_info.m_DARK_MA_00; effect_assign.m_Dark_MM_00 = effect_replace_info.m_DARK_MA_00; } if (effect_replace_info.m_DARK_MA_01 != null) { effect_assign.m_Dark_MA_01 = effect_replace_info.m_DARK_MA_01; effect_assign.m_Dark_MM_01 = effect_replace_info.m_DARK_MA_01; } if (effect_replace_info.m_DARK_SA_00 != null) { effect_assign.m_Dark_SA_00 = effect_replace_info.m_DARK_SA_00; effect_assign.m_Dark_SM_00 = effect_replace_info.m_DARK_SA_00; } if (effect_replace_info.m_DARK_SA_01 != null) { effect_assign.m_Dark_SA_01 = effect_replace_info.m_DARK_SA_01; effect_assign.m_Dark_SM_01 = effect_replace_info.m_DARK_SA_01; } if (effect_replace_info.m_DARK_SA_02 != null) { effect_assign.m_Dark_SA_02 = effect_replace_info.m_DARK_SA_02; effect_assign.m_Dark_SM_02 = effect_replace_info.m_DARK_SA_02; } if (effect_replace_info.m_WIND_MA_00 != null) { effect_assign.m_Wind_MA_00 = effect_replace_info.m_WIND_MA_00; effect_assign.m_Wind_MM_00 = effect_replace_info.m_WIND_MA_00; } if (effect_replace_info.m_WIND_MA_01 != null) { effect_assign.m_Wind_MA_01 = effect_replace_info.m_WIND_MA_01; effect_assign.m_Wind_MM_01 = effect_replace_info.m_WIND_MA_01; } if (effect_replace_info.m_WIND_SA_00 != null) { effect_assign.m_Wind_SA_00 = effect_replace_info.m_WIND_SA_00; effect_assign.m_Wind_SM_00 = effect_replace_info.m_WIND_SA_00; } if (effect_replace_info.m_WIND_SA_01 != null) { effect_assign.m_Wind_SA_01 = effect_replace_info.m_WIND_SA_01; effect_assign.m_Wind_SM_01 = effect_replace_info.m_WIND_SA_01; } if (effect_replace_info.m_WIND_SA_02 != null) { effect_assign.m_Wind_SA_02 = effect_replace_info.m_WIND_SA_02; effect_assign.m_Wind_SM_02 = effect_replace_info.m_WIND_SA_02; } if (effect_replace_info.m_HM_M_FIRE != null) { effect_assign.m_HM_M_Fire = effect_replace_info.m_HM_M_FIRE; } if (effect_replace_info.m_HM_M_WATER != null) { effect_assign.m_HM_M_Water = effect_replace_info.m_HM_M_WATER; } if (effect_replace_info.m_HM_M_WIND != null) { effect_assign.m_HM_M_Wind = effect_replace_info.m_HM_M_WIND; } if (effect_replace_info.m_HM_M_LIGHT != null) { effect_assign.m_HM_M_Light = effect_replace_info.m_HM_M_LIGHT; } if (effect_replace_info.m_HM_M_DARK != null) { effect_assign.m_HM_M_Dark = effect_replace_info.m_HM_M_DARK; } if (effect_replace_info.m_HM_M_NAUGHT != null) { effect_assign.m_HM_M_Naught = effect_replace_info.m_HM_M_NAUGHT; } if (effect_replace_info.m_HM_S_FIRE != null) { effect_assign.m_HM_S_Fire = effect_replace_info.m_HM_S_FIRE; } if (effect_replace_info.m_HM_S_WATER != null) { effect_assign.m_HM_S_Water = effect_replace_info.m_HM_S_WATER; } if (effect_replace_info.m_HM_S_WIND != null) { effect_assign.m_HM_S_Wind = effect_replace_info.m_HM_S_WIND; } if (effect_replace_info.m_HM_S_LIGHT != null) { effect_assign.m_HM_S_Light = effect_replace_info.m_HM_S_LIGHT; } if (effect_replace_info.m_HM_S_DARK != null) { effect_assign.m_HM_S_Dark = effect_replace_info.m_HM_S_DARK; } if (effect_replace_info.m_HM_S_NAUGHT != null) { effect_assign.m_HM_S_Naught = effect_replace_info.m_HM_S_NAUGHT; } if (effect_replace_info.m_HEAL_1 != null) { effect_assign.m_Heal_00 = effect_replace_info.m_HEAL_1; effect_assign.m_Heal_01 = effect_replace_info.m_HEAL_1; effect_assign.m_Heal_02 = effect_replace_info.m_HEAL_1; effect_assign.m_Heal_03 = effect_replace_info.m_HEAL_1; } if (effect_replace_info.m_SP_HEAL != null) { effect_assign.m_Heal_SP = effect_replace_info.m_SP_HEAL; } if (effect_replace_info.m_BLOOD != null) { effect_assign.m_Blood = effect_replace_info.m_BLOOD; } if (effect_replace_info.m_POISON != null) { effect_assign.m_Poison = effect_replace_info.m_POISON; } if (effect_replace_info.m_BUFF != null) { effect_assign.m_Buff = effect_replace_info.m_BUFF; } if (effect_replace_info.m_DEBUFF != null) { effect_assign.m_Debuff = effect_replace_info.m_DEBUFF; } if (effect_replace_info.m_ENEMY_SKILL_BUFF != null) { effect_assign.m_EnemySkillBuff = effect_replace_info.m_ENEMY_SKILL_BUFF; } if (effect_replace_info.m_ENEMY_SKILL_DEBUFF != null) { effect_assign.m_EnemySkillDebuff = effect_replace_info.m_ENEMY_SKILL_DEBUFF; } if (effect_replace_info.m_ENEMY_SKILL_FIRE != null) { effect_assign.m_EnemySkillFire00 = effect_replace_info.m_ENEMY_SKILL_FIRE; } if (effect_replace_info.m_ENEMY_SKILL_WIND != null) { effect_assign.m_EnemySkillWind00 = effect_replace_info.m_ENEMY_SKILL_WIND; } if (effect_replace_info.m_ENEMY_SKILL_WATER != null) { effect_assign.m_EnemySkillWater00 = effect_replace_info.m_ENEMY_SKILL_WATER; } if (effect_replace_info.m_ENEMY_SKILL_LIGHT != null) { effect_assign.m_EnemySkillLight00 = effect_replace_info.m_ENEMY_SKILL_LIGHT; } if (effect_replace_info.m_ENEMY_SKILL_DARK != null) { effect_assign.m_EnemySkillDark00 = effect_replace_info.m_ENEMY_SKILL_DARK; } if (effect_replace_info.m_ENEMY_SKILL_NAUGHT != null) { effect_assign.m_EnemySkillNaught00 = effect_replace_info.m_ENEMY_SKILL_NAUGHT; } if (effect_replace_info.m_ENEMY_SKILL_HEAL_S != null) { effect_assign.m_EnemySkillHeal_S = effect_replace_info.m_ENEMY_SKILL_HEAL_S; } if (effect_replace_info.m_ENEMY_SKILL_HEAL_M != null) { effect_assign.m_EnemySkillHeal_M = effect_replace_info.m_ENEMY_SKILL_HEAL_M; } if (effect_replace_info.m_PLAYER_SKILL_BUFF != null) { effect_assign.m_PlayerSkillBuff = effect_replace_info.m_PLAYER_SKILL_BUFF; } if (effect_replace_info.m_PLAYER_SKILL_DEBUFF != null) { effect_assign.m_PlayerSkillDebuff = effect_replace_info.m_PLAYER_SKILL_DEBUFF; } if (effect_replace_info.m_BATTLE_COST_PLUS != null) { effect_assign.m_2DBattleCostPlus = effect_replace_info.m_BATTLE_COST_PLUS; } if (effect_replace_info.m_UNIT_DROP != null) { effect_assign.m_2DUnitDrop = effect_replace_info.m_UNIT_DROP; } if (effect_replace_info.m_PLAYER_DAMAGE_NAUGHT != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.NAUGHT] = effect_replace_info.m_PLAYER_DAMAGE_NAUGHT; } if (effect_replace_info.m_PLAYER_DAMAGE_FIRE != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.FIRE] = effect_replace_info.m_PLAYER_DAMAGE_FIRE; } if (effect_replace_info.m_PLAYER_DAMAGE_WATER != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.WATER] = effect_replace_info.m_PLAYER_DAMAGE_WATER; } if (effect_replace_info.m_PLAYER_DAMAGE_LIGHT != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.LIGHT] = effect_replace_info.m_PLAYER_DAMAGE_LIGHT; } if (effect_replace_info.m_PLAYER_DAMAGE_DARK != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.DARK] = effect_replace_info.m_PLAYER_DAMAGE_DARK; } if (effect_replace_info.m_PLAYER_DAMAGE_WIND != null) { effect_assign.m_2DPlayerDamage[(int)MasterDataDefineLabel.ElementType.WIND] = effect_replace_info.m_PLAYER_DAMAGE_WIND; } if (effect_replace_info.m_SKILL_COMP != null) { effect_assign.m_2DSkill = effect_replace_info.m_SKILL_COMP; } if (effect_replace_info.m_SKILL_SETUP_NAUGHT != null) { effect_assign.m_SkillSetupNaught = effect_replace_info.m_SKILL_SETUP_NAUGHT; } if (effect_replace_info.m_TURN_CHANGE != null) { effect_assign.m_2DTurnChange = effect_replace_info.m_TURN_CHANGE; } if (effect_replace_info.m_GAME_CLEAR != null) { effect_assign.m_2DGameClear = effect_replace_info.m_GAME_CLEAR; } if (effect_replace_info.m_ENEMY_EVOL1 != null) { effect_assign.m_2DEnemyEvol = effect_replace_info.m_ENEMY_EVOL1; } if (effect_replace_info.m_ENEMY_EVOL2 != null) { effect_assign.m_2DEnemyEvol2 = effect_replace_info.m_ENEMY_EVOL2; } if (effect_replace_info.m_ENEMY_DEATH != null) { effect_assign.m_EnemyDeath = effect_replace_info.m_ENEMY_DEATH; } if (effect_replace_info.m_ENEMT_DEATH_BOSS != null) { effect_assign.m_EnemyDeath_BOSS = effect_replace_info.m_ENEMT_DEATH_BOSS; } if (effect_replace_info.m_HAND_CARD_CHANGE != null) { effect_assign.m_HandCardTransform = effect_replace_info.m_HAND_CARD_CHANGE; } if (effect_replace_info.m_HAND_CARD_DESTROY != null) { effect_assign.m_HandCardDestroy = effect_replace_info.m_HAND_CARD_DESTROY; } return(effect_assign); }
// Update is called once per frame void Update() { switch (m_ScenePhase) { case ScenePhase.START: MasterDataEnemyGroup[] master_data_array = BattleParam.m_MasterDataCache.getAllEnemyGroup(); if (master_data_array != null) { m_IsEnableEnemyUI = true; } initPlayerParty1(); m_ScenePhase = ScenePhase.INIT; break; case ScenePhase.INIT: m_ScenePhase = ScenePhase.PLAYER_SETUP; break; case ScenePhase.PLAYER_SETUP: setup_for_screen(); m_ScenePhase = ScenePhase.PLAYER_SETUP_WAIT; break; case ScenePhase.PLAYER_SETUP_WAIT: // OnPushButtonStart() が呼ばれれば進む. update_setup_ui(); break; case ScenePhase.INIT_PLAYER: BattleParam.m_MasterDataCache.clearCachePlayerAll(); BattleParam.m_MasterDataCache.clearCacheEnemyAll(); setup_from_screen(); initPlayerParty2(); BattleParam.QuestInitialize(null); m_ScenePhase = ScenePhase.INIT_ENEMY; break; case ScenePhase.INIT_ENEMY: resetBattleRequest(); createBattleRequest(); m_ScenePhase = ScenePhase.INIT_BATTLE_MANAGER; break; case ScenePhase.INIT_BATTLE_MANAGER: { GameObject effect_prefab = Resources.Load <GameObject>("Prefab/BattleScene/InGameEffectPrefab"); GameObject effect_obj = Instantiate(effect_prefab); // effect_prefabのコンポーネントを書き換えると以前に書き換えた情報が残っているので別オブジェクトを一回生成 SceneObjReferGameMainEffect effect_assign = effect_obj.GetComponent <SceneObjReferGameMainEffect>(); SceneObjReferGameMain.Instance.setEffectAssignObj(effect_assign); } BattleParam.BattleInitialize(BattleParam.m_BattleRequest, null); BattleParam.setKensyoParam(m_SkillTurnCondition, m_KobetsuHP_EnemyAtkRate, m_KobetsuHPEnemyAttackAll, m_KobetsuHPEnemyTargetHate); BattleParam.BattleStart(); m_ScenePhase = ScenePhase.BATTILING; break; case ScenePhase.BATTILING: if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.NOT_BATTLE) { // クリアした bool is_next_battle = createBattleRequest(); if (is_next_battle) { // 次の戦闘がある m_ScenePhase = ScenePhase.INIT_BATTLE_MANAGER; } else { // 終了 BattleParam.endBattleScene(); m_ScenePhase = ScenePhase.INIT; } } if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.RETIRE) { // ゲームオーバー BattleParam.endBattleScene(); m_ScenePhase = ScenePhase.INIT; } break; default: break; } }