private static ChangeTrackerHandle Internal_AcquireTracker(UnityEngine.Object o)
        {
            ChangeTrackerHandle result;

            ChangeTrackerHandle.INTERNAL_CALL_Internal_AcquireTracker(o, out result);
            return(result);
        }
Beispiel #2
0
 public Watchers(Object watched, DataWatchService dataWatch)
 {
     spyList       = new List <Spy>();
     tracker       = ChangeTrackerHandle.AcquireTracker(watched);
     watchedObject = watched;
     service       = dataWatch;
 }
Beispiel #3
0
 public Watchers(UnityEngine.Object watched, DataWatchService dataWatch)
 {
     this.spyList       = new List <DataWatchService.Spy>();
     this.tracker       = ChangeTrackerHandle.AcquireTracker(watched);
     this.watchedObject = watched;
     this.service       = dataWatch;
 }
Beispiel #4
0
 internal void ForceDirtyNextPoll()
 {
     if (this.m_Handle == IntPtr.Zero)
     {
         throw new ArgumentNullException("Not a valid handle, has it been released already?");
     }
     ChangeTrackerHandle.Internal_ForceUpdate(this.m_Handle);
 }
Beispiel #5
0
 internal bool PollForChanges()
 {
     if (this.m_Handle == IntPtr.Zero)
     {
         throw new ArgumentNullException("Not a valid handle, has it been released already?");
     }
     return(ChangeTrackerHandle.Internal_PollChanges(this.m_Handle));
 }
 internal static ChangeTrackerHandle AcquireTracker(UnityEngine.Object obj)
 {
     if (obj == null)
     {
         throw new ArgumentNullException("Not a valid unity engine object");
     }
     return(ChangeTrackerHandle.Internal_AcquireTracker(obj));
 }
Beispiel #7
0
 internal void ReleaseTracker()
 {
     if (this.m_Handle == IntPtr.Zero)
     {
         throw new ArgumentNullException("Not a valid handle, has it been released already?");
     }
     ChangeTrackerHandle.Internal_ReleaseTracker(this.m_Handle);
     this.m_Handle = IntPtr.Zero;
 }
Beispiel #8
0
        public IDataWatchHandle AddWatch(VisualElement watcher, UnityEngine.Object watched, Action onDataChanged)
        {
            if (watched == null)
            {
                throw new ArgumentException("Object watched cannot be null");
            }
            DataWatchHandle dataWatchHandle = new DataWatchHandle(++DataWatchService.s_WatchID, this, watched);

            this.m_Handles[dataWatchHandle.id] = dataWatchHandle;
            DataWatchService.Watchers value;
            if (!this.m_Watched.TryGetValue(watched, out value))
            {
                value = new DataWatchService.Watchers
                {
                    spyList = new List <DataWatchService.Spy>(),
                    tracker = ChangeTrackerHandle.AcquireTracker(watched)
                };
                this.m_Watched[watched] = value;
            }
            value.spyList.Add(new DataWatchService.Spy(dataWatchHandle.id, watcher, onDataChanged));
            return(dataWatchHandle);
        }
 private static extern void INTERNAL_CALL_Internal_ReleaseTracker(ref ChangeTrackerHandle h);
 private static void Internal_ReleaseTracker(ChangeTrackerHandle h)
 {
     ChangeTrackerHandle.INTERNAL_CALL_Internal_ReleaseTracker(ref h);
 }
 private static extern void INTERNAL_CALL_Internal_AcquireTracker(UnityEngine.Object o, out ChangeTrackerHandle value);