示例#1
0
 public void Teardown()
 {
     m_masterChannelGroup.release();
     m_fmodSystem.update();
     m_fmodSystem.close();
     m_fmodSystem.release();
 }
示例#2
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                FMOD.RESULT result;

                /*
                 *  Shut down
                 */
                for (int count = 0; count < 6; count++)
                {
                    if (sound[count] != null)
                    {
                        result = sound[count].release();
                        ERRCHECK(result);
                    }
                }

                if (groupA != null)
                {
                    result = groupA.release();
                    ERRCHECK(result);
                }
                if (groupB != null)
                {
                    result = groupB.release();
                    ERRCHECK(result);
                }

                if (system != null)
                {
                    result = system.close();
                    ERRCHECK(result);
                    result = system.release();
                    ERRCHECK(result);
                }

                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }
示例#3
0
        public void Dispose()
        {
            if (_external)
            {
                return;
            }

            lock (_engine.Lock)
            {
                if (_isDisposed)
                {
                    return;
                }

                _isDisposed = true;

                _channelGroup.release();
                _channelGroup = null;
                _engine.RemoveGrouping(this);
            }
        }