示例#1
0
        public void Dispose()
        {
            if (!_disposed)
            {
                AL.DeleteSource(source);
                source = 0;

                // Indicate that the instance has been disposed.
                _disposed = true;
                // managed resource cleanup here.

                var error = AL.GetError();
                if (error != ALError.NoError)
                {
#if DEBUG
                    throw new OpenALException(error, "borked dispose. ALError: " + error.ToString());
#else
                    Console.WriteLine("borked dispose. ALError: " + error.ToString());
#endif
                }

                sourceInstance.UnlinkInstance(this);
                sourceInstance = null;
            }

            GC.SuppressFinalize(this);
        }