Пример #1
0
        public void Release()
        {
            _userCount--;
            if (_userCount == 0)
            {
                if (_engineObject.needAutoDispose())
                    _engineObject.Dispose();
                _engineObject = null;

                _disposeCount++;
            }
        }
Пример #2
0
 public void Retain(IPackEngineObject __newObject = null)
 {
     //TODO - check logic
     if (__newObject == null && _engineObject == null)
         throw new Exception();
     _userCount++;
     if (__newObject == null)
         return;
     if (_engineObject == null)
         _engineObject = __newObject;
 }