Inheritance: ManagerBase
        private void CleanupTextureManager()
        {
            TextureManager.UnregisterTexture(Key);

            Key = null;
            TextureManager = null;
        }
        private void InitializeTextureManager(TextureManager textureMgr, TextureCachePolicy cachePolicy, String key)
        {
            if (textureMgr == null)
                throw new ArgumentNullException();

            TextureManager = textureMgr;
            Key = key;
            CachePolicy = cachePolicy;

            TextureManager.RegisterTexture(Key, this, cachePolicy);
        }
 private void Initialize(TextureManager textureMgr, TextureCachePolicy cachePolicy, String key)
 {
     InitializeTextureManager(textureMgr, cachePolicy, key);
 }
 internal Texture2dPlus(TextureManager textureMgr, String key, Int32 width, Int32 height, PixelFormat pixelFormat, TextureCachePolicy cachePolicy = TextureCachePolicy.DisposeAfterLastUse)
     : base(width, height, false, pixelFormat)
 {
     Initialize(textureMgr, cachePolicy, key);
 }
 internal Texture2dPlus(TextureManager textureMgr, String path, TextureCachePolicy cachePolicy = TextureCachePolicy.DisposeAfterLastUse)
     : base(path, false)
 {
     Initialize(textureMgr, cachePolicy, path);
 }
 private void InitializeTextures()
 {
     Textures = new TextureManager(this);
 }