コード例 #1
0
        /// <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;
            }
        }
コード例 #2
0
        /// <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;
            }
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
ファイル: TextureDisposer.cs プロジェクト: leontius/Ragnarok
        /// <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;
            }
        }