public WorldPacket Deserialize(dynamic world)
        {
            WorldPacket worldPacket = new WorldPacket();

            JContainer container = world;

            // Deserialize ships
            JArray ships = (JArray)container[0];

            foreach (JToken token in ships)
            {
                Ship ship = DeserializeShip(token);

                if(ship != null)
                {
                    worldPacket.Ships.Add(ship);
                }
            }

            // Deserialize bullets
            JArray bullets = (JArray)container[1];

            foreach (JToken token in bullets)
            {
                Bullet bullet = DeserializeBullet(token);

                if (bullet != null)
                {
                    worldPacket.Bullets.Add(bullet);
                }
            }

            // Deserialize bots
            JArray bots = (JArray)container[2];

            foreach (JToken token in bots)
            {
                Bot bot = DeserializeBot(token);

                if (bot != null)
                {
                    worldPacket.Bots.Add(bot);
                }
            }

            // Deserialize last command
            int lastCommandId = (int)container[3];
            worldPacket.LastCommandId = lastCommandId;

            return worldPacket;
        }
        public WorldPacket Deserialize(dynamic world)
        {
            WorldPacket worldPacket = new WorldPacket();

            JContainer container = world;

            // Deserialize ships
            JArray ships = (JArray)container[0];

            foreach (JToken token in ships)
            {
                Ship ship = Deserialize(token);

                if(ship != null)
                {
                    worldPacket.Ships.Add(ship);
                }
            }

            return worldPacket;
        }
Пример #3
0
 public void Sync(WorldPacket worldPacket)
 {
     ShipManager.Sync(worldPacket.Ships);
     BulletManager.Sync(worldPacket.Bullets);
     BotManager.Sync(worldPacket.Bots);
 }