public void SetName() { string changedProp = null; var entity = new ObservableEntity(); entity.PropertyChanged += (sender, e) => changedProp = e.PropertyName; entity.Name = "NewName"; Assert.AreEqual("NewName", entity.Name); Assert.AreEqual("Name", changedProp); }
private void UnmarkViewing(ObservableEntity e) { long id = e.EntityId; if (id == EntityId) { Log.Warning("Tried to unview itself " + id, "UnmarkViewing"); return; } if (!EntitiesViewing.ContainsKey(id)) { Log.Error("Not stored " + id, "UnmarkViewing"); return; } Log.Trace("Removing view mark on " + id + " from me", "UnmarkViewing"); EntitiesViewing.Remove(id); e.UnmarkViewedBy(this); }
private void MarkViewing(ObservableEntity e) { long id = e.EntityId; if (id == EntityId) { Log.Warning("Tried to view itself " + id, "MarkViewing"); return; } if (EntitiesViewing.ContainsKey(id)) { Log.Error("Already added " + id, "MarkViewing"); return; } Log.Trace("Marking " + id + " as viewed by this entity", "MarkViewing"); EntitiesViewing.Add(id, e); e.MarkViewedBy(this); }
// Observing entities only pick up entity changes when they move. // They need to know about add/remove too private void MarkNearbyObserversToObserve(ObservableEntity observable) { Log.Trace("begin", "MarkNearbyObservingEntitiesForUpdate"); var viewingSphere = new BoundingSphereD(observable.Position, Settings.Instance.RevealVisibilityMeters); List <ObservingEntity> nearbyObserving = ObservingInSphere(viewingSphere); if (nearbyObserving.Count == 0) { Log.Trace("No nearby observing entities", "MarkNearbyObservingEntitiesForUpdate"); //Log.Trace("viewingSphere has center " + Position + " and radius " + RevealVisibilityMeters, "MarkNearbyObservingEntitiesForUpdate"); return; } Log.Trace("Marking " + nearbyObserving.Count + " nearby observing entities for observe update", "MarkNearbyObservingEntitiesForUpdate"); foreach (ObservingEntity observing in nearbyObserving) { observing.MarkForObservingUpdate(); } }
// Observing entities only pick up entity changes when they move. // They need to know about add/remove too private void MarkNearbyObserversToObserve(ObservableEntity observable) { Log.Trace("begin", "MarkNearbyObservingEntitiesForUpdate"); var viewingSphere = new BoundingSphereD(observable.Position, Settings.Instance.RevealVisibilityMeters); List<ObservingEntity> nearbyObserving = ObservingInSphere(viewingSphere); if (nearbyObserving.Count == 0) { Log.Trace("No nearby observing entities", "MarkNearbyObservingEntitiesForUpdate"); //Log.Trace("viewingSphere has center " + Position + " and radius " + RevealVisibilityMeters, "MarkNearbyObservingEntitiesForUpdate"); return; } Log.Trace("Marking " + nearbyObserving.Count + " nearby observing entities for observe update", "MarkNearbyObservingEntitiesForUpdate"); foreach (ObservingEntity observing in nearbyObserving) { observing.MarkForObservingUpdate(); } }
public ObservableEntityCollection(ObservableEntity parent) { this.parent = parent; }