Example #1
0
 /// <summary>
 /// Releases the given object if its reference count is 0.
 /// </summary>
 static public void TryRelease(this IRefCounted inRef)
 {
     if (inRef.ReferenceCount == 0)
     {
         inRef.OnReleased();
     }
 }
Example #2
0
        /// <summary>
        /// Releases a reference to the given object.
        /// </summary>
        static public void ReleaseRef(this IRefCounted inRef, int inRefCount = 1)
        {
            if (inRefCount <= 0)
            {
                return;
            }

            inRef.ReferenceCount -= inRefCount;
            if (inRef.ReferenceCount == 0)
            {
                inRef.OnReleased();
            }
        }