Beispiel #1
0
 /// <summary>
 /// Called when adding listeners. Usually called before firing an event, but they can be added later also, as long as they would be triggered later.
 /// </summary>
 /// <param name="listener"></param>
 /// <param name="listenTime"></param>
 public bool AddResponder(IEventResponder listener, double listenTime)
 {
     if (listenTime < CurrentTickFraction)
     {
         return(false);                                  //Don't add listeners that would have been triggered in the past.
     }
     listeners.Add(new ListenerEntry(listener, listenTime));
     return(true);
 }
Beispiel #2
0
 /// <summary>
 /// Only call this after getting listeners for an event.
 /// </summary>
 /// <param name="roomEvent"></param>
 private static void FireEvent(this RoomEvent roomEvent)
 {
     roomEvent.CalculatedStartTime(); //Make sure the event has a time.
     while (!roomEvent.Canceled)
     {
         IEventResponder listener = roomEvent.GetNextResponder();
         if (listener == null)
         {
             break;
         }
         listener.RespondToEvent(roomEvent);
     }
 }
Beispiel #3
0
 public void WireEvent(IEventProvider eventProvider, IEventResponder eventResponder)
 {
     eventProvider > event += eventResponder.OnEvent;
Beispiel #4
0
 public ListenerEntry(IEventResponder listener, double listenTime)
 {
     Listener     = listener;
     TickFraction = listenTime;
 }