Пример #1
0
        void IDispatcher.SetReversedSwitches(ReversedSwitchesMessage pMessage)
        {
            IDispatcher target;

            lock (this) {
                target = Target;
            }
            if (target != null)
            {
                target.SetReversedSwitches(pMessage);
            }
        }
Пример #2
0
        /// <summary>
        /// Updates the positions of all power points in a sub-area in this region.
        /// </summary>
        /// <param name="message">The received data.</param>
        public void UpdateFromRun8(ReversedSwitchesMessage message)
        {
            SubArea subArea;

            if (SubAreas.TryGetValue((ushort)message.Route, out subArea))
            {
                subArea.UpdateFromRun8(message);
            }
            else if (squelchUnknownSubAreas.Add(message.Route))
            {
                Debug.Print("Received update for unknown sub-area " + message.Route + ".");
            }
        }
Пример #3
0
        /// <summary>
        /// Updates the positions of all power points in this sub-area.
        /// </summary>
        /// <param name="message">The received data.</param>
        public void UpdateFromRun8(ReversedSwitchesMessage message)
        {
            message.ReversedSwitches.Sort();
            IReadOnlyList <Points> pts = PowerPoints;

            ForEachNumberPresentAbsent((int i, bool reversed) => {
                pts[i].UpdateReversedFromRun8(reversed);
            }, pts.Count, message.ReversedSwitches);
            if (message.ReversedSwitches.Count > 0 && message.ReversedSwitches[message.ReversedSwitches.Count - 1] >= pts.Count && !PointsCountMismatchPrinted)
            {
                Debug.Print("Run8 sent reversed power points number " + message.ReversedSwitches[message.ReversedSwitches.Count - 1] + " which sub-area " + ID + " doesn't know about.");
                PointsCountMismatchPrinted = true;
            }
        }
Пример #4
0
 public virtual void SetReversedSwitches(ReversedSwitchesMessage pMessage)
 {
 }
Пример #5
0
 void IDispatcher.SetReversedSwitches(ReversedSwitchesMessage pMessage)
 {
     MessageReceived = true;
     SyncContext.Post((object state) => Region.UpdateFromRun8(pMessage), null);
 }