示例#1
0
    private void SetDestroyObject(string strName, SHObjectInfo pObjectInfo)
    {
        CheckDictionary(m_dicActives, strName);
        CheckDictionary(m_dicInactives, strName);

        m_dicActives[strName].Remove(pObjectInfo);
        m_dicInactives[strName].Remove(pObjectInfo);

        pObjectInfo.DestroyObject();
    }
示例#2
0
    private void SetActiveObject(string strName, SHObjectInfo pObjectInfo)
    {
        CheckDictionary(m_dicActives, strName);
        CheckDictionary(m_dicInactives, strName);

        m_dicActives[strName].Add(pObjectInfo);
        m_dicInactives[strName].Remove(pObjectInfo);

        pObjectInfo.SetParent(GetRoot(pObjectInfo.m_pObject.layer));
        pObjectInfo.SetStartTransform();
        pObjectInfo.SetActive(false);
    }
示例#3
0
    private void SetReturnObject(string strName, SHObjectInfo pObjectInfo)
    {
        CheckDictionary(m_dicActives, strName);
        CheckDictionary(m_dicInactives, strName);

        if (ePoolDestroyType.Return == pObjectInfo.m_eDestroyType)
        {
            SetDestroyObject(strName, pObjectInfo);
        }
        else
        {
            m_dicActives[strName].Remove(pObjectInfo);
            m_dicInactives[strName].Add(pObjectInfo);

            pObjectInfo.SetParent(GetRoot(pObjectInfo.m_pObject.layer));
            pObjectInfo.SetActive(false);
        }
    }