public Watchers(Object watched, DataWatchService dataWatch) { spyList = new List <Spy>(); tracker = ChangeTrackerHandle.AcquireTracker(watched); watchedObject = watched; service = dataWatch; }
public Watchers(UnityEngine.Object watched, DataWatchService dataWatch) { this.spyList = new List <DataWatchService.Spy>(); this.tracker = ChangeTrackerHandle.AcquireTracker(watched); this.watchedObject = watched; this.service = dataWatch; }
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); }