/// <summary> /// テクスチャの削除を行います。 /// </summary> private void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { if (TextureName != 0) { TextureDisposer.AddDeleteTexture(this.context, TextureName); this.glTexture = 0; } RemoveTexture(this); } else { if (TextureName != 0) { Log.Error( "削除できないテクスチャが残りました。"); } } this.disposed = true; } }
/// <summary> /// テクスチャの削除を行います。 /// </summary> private void Dispose(bool disposing) { if (!this.disposed) { if (TextureName != 0) { TextureDisposer.AddDeleteTexture(this.context, TextureName); this.glTexture = 0; } RemoveTexture(this); this.disposed = true; } }
/// <summary> /// シングルトンインスタンスを取得します。 /// </summary> public static TextureDisposer GetInstance(IGraphicsContext context) { if (context == null) { throw new ArgumentNullException("context"); } lock (syncInstance) { TextureDisposer instance; if (instanceDic.TryGetValue(context, out instance)) { return(instance); } instance = new TextureDisposer(context); instanceDic.Add(context, instance); return(instance); } }
/// <summary> /// シングルトンインスタンスを取得します。 /// </summary> public static TextureDisposer GetInstance(IGraphicsContext context) { if (context == null) { throw new ArgumentNullException("context"); } lock (syncInstance) { TextureDisposer instance; if (instanceDic.TryGetValue(context, out instance)) { return instance; } instance = new TextureDisposer(context); instanceDic.Add(context, instance); return instance; } }