private void NotifyListeners_Update() { foreach (SceneListener listener in sceneListeners) { listener.SceneUpdated(scene); } foreach (KeyValuePair <ActorListener, Actor> entry in actorListeners) { // which actor is that? ActorListener listener = entry.Key; Actor actor = entry.Value; if (actor != null) { listener.ActorUpdated(actor); } } foreach (KeyValuePair <DeviceListener, Device> entry in deviceListeners) { // which device is that? DeviceListener listener = entry.Key; Device device = entry.Value; if (device != null) { listener.DeviceUpdated(device); } } }
/// <summary> /// Adds an actor data listener. /// </summary> /// <param name="listener">The listener to add</param> /// <returns><c>true</c>, if the actor listener was added, <c>false</c> otherwise.</returns> /// public bool AddActorListener(ActorListener listener) { bool added = false; if (!actorListeners.ContainsKey(listener)) { Actor actor = scene.FindActor(listener.GetActorName()); actorListeners.Add(listener, actor); added = true; // immediately trigger callback listener.ActorChanged(actor); } return(added); }
/// <summary> /// Removes an actor data listener. /// </summary> /// <param name="listener">The listener to remove</param> /// <returns><c>true</c>, if the actor listener was removed, <c>false</c> otherwise.</returns> /// public bool RemoveActorListener(ActorListener listener) { return(actorListeners.Remove(listener)); }
/// <summary> /// Removes an actor data listener. /// </summary> /// <param name="listener">The listener to remove</param> /// <returns><c>true</c>, if the actor listener was removed, <c>false</c> otherwise.</returns> /// public bool RemoveActorListener(ActorListener listener) { return((client != null) ? client.RemoveActorListener(listener) : true); }
/// <summary> /// Adds an actor data listener. /// </summary> /// <param name="listener">The listener to add</param> /// <returns><c>true</c>, if the actor listener was added, <c>false</c> otherwise.</returns> /// public bool AddActorListener(ActorListener listener) { return((client != null) ? client.AddActorListener(listener) : false); }