private bool initLoadWait() { Before.SetCharaID(m_BeforCharaId, true); After.SetCharaID(m_AfterCharaId, true); m_materialImages[0].enabled = false; m_materialImages[1].enabled = false; m_materialImages[2].enabled = false; SetMaterial(0, m_MaterialCharaIds[0]); SetMaterial(1, m_MaterialCharaIds[1]); SetMaterial(2, m_MaterialCharaIds[2]); return(false); }
public void Initialize( uint chara_base_id, uint chara_link_id, System.Action callback) { Base.SetCharaID(chara_base_id, true); Base.m_AssetBundleMeshScaleUp = true; Base.m_AssetBundleMeshPosition = true; Link.SetCharaID(chara_link_id, true); Link.m_AssetBundleMeshScaleUp = true; Link.m_AssetBundleMeshPosition = true; if (callback != null) { callback(); } }
//---------------------------------------------------------------------------- /*! * @brief 基底継承:MainMenuSeq:ページ切り替えにより有効化された際に呼ばれる関数 * @note ページのレイアウト再構築を兼ねる */ //---------------------------------------------------------------------------- protected override void PageSwitchSetting(bool initalize) { base.PageSwitchSetting(initalize); //-------------------------------- // 情報破棄 // // リソースの参照が残ると破棄処理で抜けが生じるので // ページを無効にしたタイミングでも破棄するよう対応してる //-------------------------------- //-------------------------------- // オブジェクト破棄 //-------------------------------- if (m_AssetAutoSetBefore != null) { m_AssetAutoSetBefore.DestroyCharaMesh(); } if (m_AssetAutoSetAfter != null) { m_AssetAutoSetAfter.DestroyCharaMesh(); } //-------------------------------- // 進行情報クリア //-------------------------------- m_WorkStep = STEP_000_START; m_WorkStepDelta = 0; m_WorkStepTriger = true; m_CharaMeshAnim.ResetAnimation(); //---------------------------------------- // パッチ処理を行わないようにする. //---------------------------------------- MainMenuManager.Instance.m_ResumePatchUpdateRequest = false; //-------------------------------- // 進化前後のユニット情報を取得 //-------------------------------- PacketStructUnit cEvolUnit = MainMenuParam.m_EvolveBaseAfter; PacketStructUnit cEvolUnitPrev = MainMenuParam.m_EvolveBaseBefore; if (cEvolUnit == null || cEvolUnitPrev == null ) { Debug.LogError("Evol Unit Error!!"); //とりあえずホームへ MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_HOME_MENU, false, false); return; } //-------------------------------- // 選択されているユニット情報を選定 //-------------------------------- uint unCharaMasterDataID = cEvolUnit.id; // 進化後 uint unCharaMasterDataIDPrev = cEvolUnitPrev.id; // 新化前 MasterDataParamChara cCharaMasterData = MasterDataUtil.GetCharaParamFromID(unCharaMasterDataID); MasterDataParamChara cCharaMasterDataPrev = MasterDataUtil.GetCharaParamFromID(unCharaMasterDataIDPrev); if (cCharaMasterData == null || cCharaMasterDataPrev == null) { Debug.LogError("SelectUnit MasterData Is None! - " + unCharaMasterDataID); return; } // 表示ユニット情報を設定 //MainMenuParam.SetCharaDetailParam( cEvolUnit ); m_UnitNamePanel.setup(cCharaMasterDataPrev); // リンクユニット情報取得 PacketStructUnit cLinkUnit = CharaLinkUtil.GetLinkUnit(cEvolUnit); // 表示ユニット情報を設定 MainMenuParam.SetCharaDetailParam(cEvolUnit, cLinkUnit); //---------------------------------------- // キャラメッシュ生成 //---------------------------------------- { // 新化前ユニット if (m_AssetAutoSetBefore == null) { m_AssetAutoSetBefore = m_ReferObject[OBJECT_CHARA_MESH_BEFORE].AddComponent <AssetAutoSetCharaMesh>(); m_AssetAutoSetBefore.m_AssetBundleMeshScaleUp = true; m_AssetAutoSetBefore.m_AssetBundleMeshPosition = true; } m_AssetAutoSetBefore.SetCharaID(unCharaMasterDataIDPrev, true); // 進化後ユニット if (m_AssetAutoSetAfter == null) { m_AssetAutoSetAfter = m_ReferObject[OBJECT_CHARA_MESH_AFTER].AddComponent <AssetAutoSetCharaMesh>(); m_AssetAutoSetAfter.m_AssetBundleMeshScaleUp = true; m_AssetAutoSetAfter.m_AssetBundleMeshPosition = true; } m_AssetAutoSetAfter.SetCharaID(unCharaMasterDataID, true); } { TemplateList <uint> cPartsUnitIDList = new TemplateList <uint>(); for (int i = 0; i < MainMenuParam.m_EvolveParts.m_BufferSize; i++) { cPartsUnitIDList.Add(MainMenuParam.m_EvolveParts[i].id); } m_EvolCutinParts = new MainMenuCutin[cPartsUnitIDList.m_BufferSize]; for (int i = 0; i < cPartsUnitIDList.m_BufferSize; i++) { m_EvolCutinParts[i] = new MainMenuCutin(); m_EvolCutinParts[i].Setup(m_ReferObject[OBJECT_CUTIN_PARENT], cPartsUnitIDList[i], MainMenuDefine.CUTIN_OBJ_TYPE_COST); } } //---------------------------------------- // とりあえず非表示へ //---------------------------------------- m_LayoutWindow.SetLayoutAllDisable(); m_LayoutEvolve.SetLayoutAllDisable(); m_LayoutCategory.SetLayoutAllDisable(); //遷移ボタン非表示 m_UnitResultButton.IsActiveButton1 = false; m_UnitResultButton.IsActiveButton2 = false; }
//---------------------------------------------------------------------------- /*! * @brief 基底継承:MainMenuSeq:ページ切り替えにより有効化された際に呼ばれる関数 * @note ページのレイアウト再構築を兼ねる */ //---------------------------------------------------------------------------- protected override void PageSwitchSetting(bool initalize) { base.PageSwitchSetting(initalize); //-------------------------------- // 情報破棄 // // リソースの参照が残ると破棄処理で抜けが生じるので // ページを無効にしたタイミングでも破棄するよう対応してる //-------------------------------- //-------------------------------- // オブジェクト破棄 //-------------------------------- if (m_AssetAutoSet != null) { m_AssetAutoSet.DestroyCharaMesh(); } //-------------------------------- // リンク情報クリア //-------------------------------- m_WorkStep = STEP_000_START; m_WorkStepDelta = 0; m_WorkStepTriger = true; //-------------------------------- // Bugweb:5925 関連 // アチーブメント達成演出をスキップされる可能性を考慮しアチーブメント取得フラグONにしとく。 // フラグをONにすることで、次回、ミッション画面に遷移したとき、 // ローカルで保持してるアチーブメントマスタのリスト情報を破棄し、新しく一からマスタを取得し直すようになる。 //-------------------------------- if (MainMenuParam.m_AchievementListGet == false) { MainMenuParam.m_AchievementListGet = true; } //-------------------------------- // リンク前後の情報を保持しておく //-------------------------------- PacketStructUnit UnitBefore = new PacketStructUnit(); //!< ユニット情報:リンク前 PacketStructUnit UnitAfter = new PacketStructUnit(); //!< ユニット情報:リンク後 UnitBefore.Copy(MainMenuParam.m_LinkBaseBefore); UnitAfter.Copy(MainMenuParam.m_LinkBaseAfter); MasterDataParamChara m_UnitMasterData = MasterDataUtil.GetCharaParamFromID(UnitAfter.id); //!< ユニット情報:マスターデータ m_UnitNamePanel.setup(m_UnitMasterData); UnitBefore.add_hp = UnitAfter.add_hp; UnitBefore.add_pow = UnitAfter.add_pow; UnitBefore.link_unique_id = UnitAfter.link_unique_id; //-------------------------------- // リンク先のユニット情報を取得する //-------------------------------- PacketStructUnit cLinkUnit = CharaLinkUtil.GetLinkUnit(UnitBefore.link_unique_id); //---------------------------------------- // 初期情報としてリンク前のユニット情報を表示 //---------------------------------------- // 表示ユニット情報を設定 MainMenuParam.SetCharaDetailParam(UnitBefore, cLinkUnit); //---------------------------------------- // キャラメッシュ生成 //---------------------------------------- if (m_AssetAutoSet == null) { m_AssetAutoSet = m_ReferObject[OBJECT_CHARA_MESH].AddComponent <AssetAutoSetCharaMesh>(); m_AssetAutoSet.m_AssetBundleMeshScaleUp = true; m_AssetAutoSet.m_AssetBundleMeshPosition = true; } m_AssetAutoSet.SetCharaID(m_UnitMasterData.fix_id, true); //---------------------------------------- // カットインオブジェクト生成 //---------------------------------------- //-------------------------------- // リンクユニット //-------------------------------- m_CutinLink = new MainMenuCutin(); m_CutinLink.Setup(m_ReferObject[OBJECT_CUTIN_PARENT], MainMenuParam.m_LinkUnit.id, MainMenuDefine.CUTIN_OBJ_TYPE_FIX); //-------------------------------- // 素材ユニット //-------------------------------- if (MainMenuParam.m_LinkParts != null && MainMenuParam.m_LinkParts.m_BufferSize > 0) { m_CutinParts = new MainMenuCutin[MainMenuParam.m_LinkParts.m_BufferSize]; for (int i = 0; i < MainMenuParam.m_LinkParts.m_BufferSize; i++) { m_CutinParts[i] = new MainMenuCutin(); m_CutinParts[i].Setup(m_ReferObject[OBJECT_CUTIN_PARENT], MainMenuParam.m_LinkParts[i].id, MainMenuDefine.CUTIN_OBJ_TYPE_COST); } } //---------------------------------------- // とりあえず非表示へ //---------------------------------------- m_LayoutCategory.SetLayoutAllDisable(); m_LayoutWindow.SetLayoutAllDisable(); //遷移ボタンOFF m_UnitResultButton.IsActiveButton1 = false; m_UnitResultButton.IsActiveButton2 = false; // ロゴ情報 for (int i = 0; i < m_AnimationShotLogo.Length; i++) { if (m_AnimationShotLogo[i] == null) { continue; } UnityUtil.SetObjectEnabled(m_AnimationShotLogo[i].gameObject, false); } }