示例#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
        ProcessModifyUnit(ANWI.Messaging.IMessagePayload p)
        {
            ANWI.Messaging.Ops.ModifyUnit mod
                = p as ANWI.Messaging.Ops.ModifyUnit;

            ActiveOperation op = GetOperation(mod.opUUID);

            if (op != null)
            {
                op.ModifyUnit(mod);
            }

            return(null);
        }