public static void Dump()
        {
            ProxySpriteMan pMan = ProxySpriteMan.privGetInstance();

            Debug.Assert(pMan != null);

            pMan.baseDump();
        }
        public static void Remove(GameSprite pNode)
        {
            ProxySpriteMan pMan = ProxySpriteMan.privGetInstance();

            Debug.Assert(pMan != null);

            Debug.Assert(pNode != null);
            pMan.baseRemove(pNode);
        }
        public static ProxySprite Add(GameSprite.Name name)
        {
            ProxySpriteMan pMan = ProxySpriteMan.privGetInstance();

            Debug.Assert(pMan != null);

            ProxySprite pNode = (ProxySprite)pMan.baseAdd();

            Debug.Assert(pNode != null);

            pNode.Set(name);

            return(pNode);
        }
        public static void Destroy()
        {
            ProxySpriteMan pMan = ProxySpriteMan.privGetInstance();

            Debug.Assert(pMan != null);

            // Print stats on destroy
            pMan.baseDump();

            // Invalidate the singleton
            if (pInstance != null)
            {
                pInstance = null;
            }
        }
        public static ProxySprite Find(ProxySprite.Name name)
        {
            ProxySpriteMan pMan = ProxySpriteMan.privGetInstance();

            Debug.Assert(pMan != null);

            // Compare functions only compares two Nodes

            // So:  Use the Compare Node - as a reference
            //      use in the Compare() function
            pMan.poNodeCompare.SetName(name);

            ProxySprite pData = (ProxySprite)pMan.baseFind(pMan.poNodeCompare);

            return(pData);
        }