Example #1
0
        public void Unpack(NetBuffer netBuffer)
        {
            for (int x = 0; x < _tiles.GetLength(0); x++)
            {
                for (int y = 0; y < _tiles.GetLength(1); y++)
                {
                    var tile = Tile.Unpack(netBuffer);
                    if (tile != null)
                    {
                        tile.ZIndex = this.ZIndex;
                        this.SetTile(x, y, tile);
                    }
                }
            }

            int collisionDescriptorCount = netBuffer.ReadInt32();

            for (int c = 0; c < collisionDescriptorCount; c++)
            {
                var position = new Vector2(netBuffer.ReadInt32(), netBuffer.ReadInt32());

                var collisionArea = new Rectangle(netBuffer.ReadInt32(), netBuffer.ReadInt32(), netBuffer.ReadInt32(), netBuffer.ReadInt32());

                var collisionDescriptor = new CollisionDescriptor(collisionArea);

                this.AddCollisionDescriptor(position, collisionDescriptor);
            }

            var mapObjectCount = netBuffer.ReadInt32();

            for (int i = 0; i < mapObjectCount; i++)
            {
                var mapObject = MapObject.Unpack(netBuffer);

                if (mapObject != null)
                {
                    _mapObjects.Add(mapObject);
                }
            }
        }
Example #2
0
 public void AddCollisionDescriptor(Vector2 position, CollisionDescriptor descriptor)
 {
     _collisionDescriptors.Add(position, descriptor);
 }