示例#1
0
        public void ModifyUnit(ANWI.Messaging.Ops.ModifyUnit mod)
        {
            switch (mod.type)
            {
            case ANWI.Messaging.Ops.ModifyUnit.ChangeType.SetFlagship:
                fleet.SetFlagship(mod.unitUUID);
                PushToAll(new ANWI.Messaging.Ops.UpdateShip()
                {
                    shipUUID = mod.unitUUID,
                    type     = ANWI.Messaging.Ops.UpdateShip.Type.SetFlagship
                });
                break;

            case ANWI.Messaging.Ops.ModifyUnit.ChangeType.SetWingCommander:
                fleet.SetWingCommander(mod.unitUUID);
                PushToAll(new ANWI.Messaging.Ops.UpdateWing()
                {
                    type     = ANWI.Messaging.Ops.UpdateWing.Type.ChangeWingCommander,
                    boatUUID = mod.unitUUID
                });
                break;

            case ANWI.Messaging.Ops.ModifyUnit.ChangeType.ChangeName:
                fleet.SetWingName(mod.unitUUID, mod.str);
                PushToAll(new ANWI.Messaging.Ops.UpdateWing()
                {
                    wingUUID = mod.unitUUID,
                    type     = ANWI.Messaging.Ops.UpdateWing.Type.SetName,
                    str      = mod.str
                });
                break;

            case ANWI.Messaging.Ops.ModifyUnit.ChangeType.ChangeCallsign:
                fleet.SetWingCallsign(mod.unitUUID, mod.str);
                PushToAll(new ANWI.Messaging.Ops.UpdateWing()
                {
                    wingUUID = mod.unitUUID,
                    type     = ANWI.Messaging.Ops.UpdateWing.Type.SetCallsign,
                    str      = mod.str
                });
                break;

            case ANWI.Messaging.Ops.ModifyUnit.ChangeType.ChangeWingRole:
                fleet.ChangeWingRole(mod.unitUUID, (Wing.Role)mod.integer);
                PushToAll(new ANWI.Messaging.Ops.UpdateWing()
                {
                    wingUUID = mod.unitUUID,
                    type     = ANWI.Messaging.Ops.UpdateWing.Type.ChangeRole,
                    integer  = mod.integer
                });
                break;
            }
        }
示例#2
0
        private void ProcessUpdateShip(ANWI.Messaging.IMessagePayload p)
        {
            ANWI.Messaging.Ops.UpdateShip ups
                = p as ANWI.Messaging.Ops.UpdateShip;

            switch (ups.type)
            {
            case ANWI.Messaging.Ops.UpdateShip.Type.SetFlagship:
                fleet.SetFlagship(ups.shipUUID);
                break;
            }

            NotifyPropertyChanged(string.Empty);
        }