예제 #1
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	ベースユニットの進化先をリストに保持
     *          @note
     */
    //----------------------------------------------------------------------------
    static public void SetEvolBaseUnitIdList(uint unBaseUnitId)
    {
        // リストを初期化
        m_EvolBaseUnitIdList.Release();

        // 進化前を検索
        SearchEvolList(unBaseUnitId, false);

        // 進化後を検索
        SearchEvolList(unBaseUnitId, true);
    }
예제 #2
0
    //----------------------------------------------------------------------------

    /*!
     *          @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;
    }
예제 #3
0
    //----------------------------------------------------------------------------

    /*!
     *          @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();
    }
예제 #4
0
    //----------------------------------------------------------------------------

    /*!
     *          @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);
        }
    }