//---------------------------------------------------------------------------- /*! * @brief ベースユニットの進化先をリストに保持 * @note */ //---------------------------------------------------------------------------- static public void SetEvolBaseUnitIdList(uint unBaseUnitId) { // リストを初期化 m_EvolBaseUnitIdList.Release(); // 進化前を検索 SearchEvolList(unBaseUnitId, false); // 進化後を検索 SearchEvolList(unBaseUnitId, true); }
//---------------------------------------------------------------------------- /*! * @brief アニメーション制御準備 */ //---------------------------------------------------------------------------- public void SetupAnimationClipFade() { //-------------------------------- // コンポーネントの付いたオブジェクトをリスト化 // AnimationClipFadeを取得しておく //-------------------------------- m_ChildObject.Release(); m_ChildObject.Alloc(32); SearchAnimationObj(gameObject, true, ref m_ChildObject); m_AnimationSeq = ANIM_FADE_READY; m_SetupAnimationClipFade = true; }
//---------------------------------------------------------------------------- /*! * @brief Unity固有処理:インスタンス制御関連:インスタンス破棄時に呼出し */ //---------------------------------------------------------------------------- protected virtual void OnDestroy() { //-------------------------------- // オブジェクトを全破棄 //-------------------------------- for (int i = 0; i < m_LaytoutList.m_BufferSize; i++) { if (m_LaytoutList[i] == null) { continue; } //-------------------------------- // 複製か否かで破棄処理分岐 //-------------------------------- if (m_LaytoutList[i].m_LayoutInstantiate == false) { //-------------------------------- // 複製でないなら破棄しない。 // // 後付けで追加したコンポーネントだけを破棄する //-------------------------------- DestroyImmediate(m_LaytoutList[i].m_LayoutSwitchSeq, true); } else { //-------------------------------- // 複製ならオブジェクトごと破棄 //-------------------------------- Destroy(m_LaytoutList[i].m_LayoutGameObj); } m_LaytoutList[i].m_LayoutGameObj = null; } m_LaytoutList.Release(); }
//---------------------------------------------------------------------------- /*! * @brief Unity固有処理:インスタンス制御関連:インスタンス破棄時に呼出し */ //---------------------------------------------------------------------------- protected override void OnDestroy() { base.OnDestroy(); try { AudioClip clip; // 共通SE破棄 if (m_AudioClipSystemTable != null) { for (SEID i = SEID.SE_NONE; i < SEID.SE_MAX; i++) { bool ret = m_AudioClipSystemTable.TryGetValue(i, out clip); if (ret) { Resources.UnloadAsset(clip); m_AudioClipSystemTable[i] = null; } } m_AudioClipSystemTable = null; } // 読み込んだSEの破棄 if (m_AudioClipTable != null) { for (int i = 0; i < m_AudioDataList.m_BufferSize; i++) { if (m_AudioDataList[i] == null) { continue; } uint fix_id = m_AudioDataList[i].fix_id; bool ret = m_AudioClipTable.TryGetValue(fix_id, out clip); if (ret) { Resources.UnloadAsset(clip); m_AudioClipTable[fix_id] = null; } } m_AudioClipTable = null; } // マスター破棄 if (m_AudioDataList != null) { for (int i = 0; i < m_AudioDataList.m_BufferSize; i++) { m_AudioDataList[i] = null; } m_AudioDataList.Release(); } } catch (Exception e) { Debug.LogError(e.Message); } }