Example #1
0
 protected override void NotifyBack(IColorable from, BroadcastSignal signal)
 {
     bool contains;
     lock (BroadcastSignals)
     {
         contains = BroadcastSignals.Contains(signal);
         if (!contains)
             BroadcastSignals.Add(signal);
     }
     if (contains)
         System.Diagnostics.Debug.WriteLine(String.Format("\tBroadcast repeated {0} ({1}, color={2})", signal, ToString(), CurrentColor == null ? "null" : CurrentColor.ToStringDemuxed()));
     else
         System.Diagnostics.Debug.WriteLine(String.Format("\tBroadcast {0} ({1}, color={2})", signal, ToString(), CurrentColor == null ? "null" : CurrentColor.ToStringDemuxed()));
     signal.Process(this, contains);
     InvokeOnNotifyBack();
     if (!contains)
     {
         SplitNotify(GetPrevPaths(), signal);
     }
 }