Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        // 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();
            }
        }
Пример #5
0
        // 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();
            }
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
 public ObservableEntityCollection(ObservableEntity parent)
 {
     this.parent = parent;
 }