Exemple #1
0
        private void ProcessOpSnapshot(ANWI.Messaging.IMessagePayload p)
        {
            ANWI.Messaging.Ops.FullOperationSnapshot snap
                = p as ANWI.Messaging.Ops.FullOperationSnapshot;

            operationName = snap.op.name;
            type          = snap.op.type;
            status        = snap.op.status;
            freeMove      = snap.op.freeMove;
            C2Unified     = snap.op.C2Unified;

            AddParticipants(snap.op.roster);

            if (snap.op.fleet != null)
            {
                foreach (FleetUnit f in snap.op.fleet)
                {
                    fleet.AddUnit(f);
                }
            }

            working = false;

            RebuildC2();

            NotifyPropertyChanged(string.Empty);
        }
Exemple #2
0
        public void AddFleetShip(int id)
        {
            Ship ship = new Ship();

            ship.uuid       = ANWI.Utility.UUID.GenerateUUID();
            ship.v          = LiteVessel.FetchById(id);
            ship.isFlagship = false;

            fleet.AddUnit(ship);

            PushToAll(new ANWI.Messaging.Ops.UpdateUnitsShips(
                          new List <Ship>()
            {
                ship
            },
                          null
                          ));
        }
        public void AddingUnits()
        {
            //
            // First add one capital ship with one position
            Ship ship = new Ship()
            {
                uuid = "klkj4rlkjlkj2-asd-ei2",
                v    = new LiteVessel()
                {
                    name = "ANS Legend of Dave"
                },
                isFlagship = false
            };

            ship.positions.Add(new OpPosition()
            {
                uuid     = "409ueomnllknqlknlkn",
                unitUUID = ship.uuid,
                role     = new OperationRole()
                {
                    name = "Pilot"
                },
                critical = true
            });

            fleet.AddUnit(ship);
            Assert.AreEqual(1, fleet.FleetSize);
            Assert.AreEqual(1, fleet.TotalPositions);

            //
            // Add a wing with one boat
            Wing wing = new Wing()
            {
                uuid        = "a95ujskslkvnskent",
                name        = "Fighter CAP",
                callsign    = "Dickthunder",
                primaryRole = Wing.Role.CAP
            };

            wing.members.Add(new Boat()
            {
                uuid     = "498osjblj4lksjlkaj",
                wingUUID = wing.uuid,
                callsign = "Dickthunder 1",
                isWC     = true
            });
            wing.members[0].positions.Add(new OpPosition()
            {
                uuid     = "4uvlkjlkj3qrlkj",
                unitUUID = wing.uuid,
                critical = true,
                role     = new OperationRole()
                {
                    name = "Pilot"
                }
            });

            fleet.AddUnit(wing);
            Assert.AreEqual(2, fleet.FleetSize);
            Assert.AreEqual(2, fleet.TotalPositions);
            Assert.AreEqual(2, fleet.TotalCriticalPositions);
            Assert.AreEqual(1, fleet.TotalBoats);

            //
            // Add a boat to the first wing
            Boat boat = new Boat()
            {
                uuid     = "868ekjxj2lk;l3k",
                wingUUID = "a95ujskslkvnskent",
                isWC     = false,
                callsign = "Dickthunder 2"
            };

            boat.positions.Add(new OpPosition()
            {
                uuid     = "7848whd2jdalkj3",
                unitUUID = wing.uuid,
                critical = true,
                role     = new OperationRole()
                {
                    name = "Pilot"
                }
            });

            fleet.AddUnit(boat);
            Assert.AreEqual(2, fleet.TotalBoats);
            Assert.AreEqual(3, fleet.TotalPositions);
            Assert.AreEqual(3, fleet.TotalCriticalPositions);

            Wing checkWing = fleet.GetUnit("a95ujskslkvnskent") as Wing;

            Assert.AreEqual(boat.uuid, checkWing.members[1].uuid);
        }