예제 #1
0
        public static void Remove(GameObjectNode pNode)
        {
            GhostGameObjectMan pMan = GhostGameObjectMan.PrivGetInstance();

            Debug.Assert(pMan != null);

            Debug.Assert(pNode != null);
            pMan.BaseRemove(pNode);
        }
예제 #2
0
        public static GameObjectNode Find(GameObject.Name name)
        {
            GhostGameObjectMan pMan = GhostGameObjectMan.PrivGetInstance();

            Debug.Assert(pMan != null);

            // Compare functions only compares two Nodes
            pMan.poNodeCompare.pGameObj.SetName(name);

            GameObjectNode pNode = (GameObjectNode)pMan.BaseFind(pMan.poNodeCompare);

            if (pNode == null)
            {
                return(null);
            }

            return(pNode);
        }
예제 #3
0
        public static void Destroy()
        {
            // Get the instance
            GhostGameObjectMan pMan = GhostGameObjectMan.PrivGetInstance();

            Debug.Assert(pMan != null);
#if (TRACK_DESTRUCTOR_MAN)
            Debug.WriteLine("--->GameSpriteMan.Destroy()");
#endif
            pMan.BaseDestroy();

#if (TRACK_DESTRUCTOR_MAN)
            Debug.WriteLine("     {0} ({1})", pMan.poNodeCompare, pMan.poNodeCompare.GetHashCode());
            Debug.WriteLine("     {0} ({1})", GameSpriteMan.pInstance, GameSpriteMan.pInstance.GetHashCode());
#endif

            pMan.poNodeCompare           = null;
            GhostGameObjectMan.pInstance = null;
        }
예제 #4
0
        public static GameObjectNode Attach(GameObject pGameObject)
        {
            GhostGameObjectMan pMan = GhostGameObjectMan.PrivGetInstance();

            Debug.Assert(pMan != null);

            GameObjectNode pNode;

            if (pMan.BaseGetActive() == null)
            {
                pNode = (GameObjectNode)pMan.BaseAdd();
            }
            else
            {
                pNode = (GameObjectNode)pMan.BaseAddToPosition(pMan.BaseGetActive());
            }

            Debug.Assert(pNode != null);

            pNode.Set(pGameObject);
            return(pNode);
        }