public void EndTracking(DynamicObject obj) { if (obj.DynamicID == 0 || !IsTracking(obj)) throw new Exception(String.Format("Object has an invalid ID or was not being tracked (ID = {0})", obj.DynamicID)); DynamicObject removed; this._objects.TryRemove(obj.DynamicID, out removed); }
public bool IsTracking(DynamicObject obj) { return this._objects.ContainsKey(obj.DynamicID); }
public void StartTracking(DynamicObject obj) { if (obj.DynamicID == 0 || IsTracking(obj)) throw new Exception(String.Format("Object has an invalid ID or was already being tracked (ID = {0})", obj.DynamicID)); this._objects.TryAdd(obj.DynamicID, obj); }