예제 #1
0
        public void SetPositionCritical(string uuid, bool crit)
        {
            OpPosition pos = fleet.GetPosition(uuid);

            if (pos != null)
            {
                pos.critical = crit;

                PushToAll(new ANWI.Messaging.Ops.UpdatePositions(
                              null,
                              new List <OpPosition>()
                {
                    pos
                },
                              null
                              ));
            }
        }
예제 #2
0
        private void ProcessUpdatePositions(ANWI.Messaging.IMessagePayload p)
        {
            ANWI.Messaging.Ops.UpdatePositions up
                = p as ANWI.Messaging.Ops.UpdatePositions;

            if (up.added != null)
            {
                foreach (OpPosition pos in up.added)
                {
                    fleet.AddPosition(pos);
                }
            }

            if (up.changed != null)
            {
                foreach (OpPosition pos in up.changed)
                {
                    OpPosition old = fleet.GetPosition(pos.uuid);
                    if (old != null)
                    {
                        old.critical = pos.critical;
                    }
                }
            }

            if (up.removed != null)
            {
                foreach (string rem in up.removed)
                {
                    fleet.DeletePosition(rem);
                }
            }

            RebuildC2();

            NotifyPropertyChanged(string.Empty);
        }