コード例 #1
0
ファイル: TextureManager.cs プロジェクト: remixod/sharpwow
 public static void RemoveTexture(TextureHandle handle)
 {
     mDefaultManager._RemoveTexture(handle);
 }
コード例 #2
0
ファイル: TextureManager.cs プロジェクト: remixod/sharpwow
 public void UnloadTexture(TextureHandle handle)
 {
     _RemoveTexture(handle);
 }
コード例 #3
0
ファイル: TextureManager.cs プロジェクト: remixod/sharpwow
        private void _RemoveTexture(TextureHandle handle)
        {
            lock (lockObject)
            {
                if (mRefCounts.ContainsKey(handle) == false)
                    return;

                --mRefCounts[handle];
                if (mRefCounts[handle] == 0)
                {
                    Game.GameManager.GraphicsThread.CallOnThread(() => handle.Native.Dispose(), true);
                    mRefCounts.Remove(handle);
                    mTextures.Remove(handle.Name.GetHashCode());
                }
            }
        }