Beispiel #1
0
 /// <summary>
 /// Releases a weak reference to the counter
 /// </summary>
 public void ReleaseWeakReference(ESPMode mode)
 {
     Native_FReferenceControllerOps.ReleaseWeakReference(ReferenceController, mode);
 }
Beispiel #2
0
 /// <summary>
 /// Adds a weak reference to the counter
 /// </summary>
 public void AddWeakReference(ESPMode mode)
 {
     Native_FReferenceControllerOps.AddWeakReference(ReferenceController, mode);
 }
Beispiel #3
0
 /// <summary>
 /// Adds a shared reference to the counter ONLY if there is already at least one reference
 /// </summary>
 /// <param name="mode"></param>
 public void ConditionallyAddSharedReference(ESPMode mode)
 {
     Native_FReferenceControllerOps.ConditionallyAddSharedReference(ReferenceController, mode);
 }
Beispiel #4
0
 /// <summary>
 /// Returns true if this is the only shared reference to this object.  Note that there may be
 /// outstanding weak references left.
 /// IMPORTANT: Not necessarily fast!  Should only be used for debugging purposes!
 /// </summary>
 /// <returns></returns>
 public bool IsUnique(ESPMode mode)
 {
     // Copy of FSharedReferencer<>::IsUnique
     return(GetSharedReferenceCount(mode) == 1);
 }
Beispiel #5
0
        public IntPtr ReferenceController;// Could be called either SharedReferenceCount or ReferenceController (the actual pointer)

        /// <summary>
        /// Returns the number of shared references to this object (including this reference.)
        /// IMPORTANT: Not necessarily fast!  Should only be used for debugging purposes!
        /// </summary>
        /// <returns></returns>
        public int GetSharedReferenceCount(ESPMode mode)
        {
            return(Native_FReferenceControllerOps.GetSharedReferenceCount(ReferenceController, mode));
        }
Beispiel #6
0
 public string ToString(ESPMode mode)
 {
     return("SharedPtr {" + Object + ", " + ReferenceController + ":" + GetSharedReferenceCount(mode) + "}");
 }