예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <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);
 }