CEngineSharp_Server.World.Maps.Map.GetMapData C# (CSharp) Method

GetMapData() public method

public GetMapData ( ) : NetBuffer
return Lidgren.Network.NetBuffer
        public NetBuffer GetMapData()
        {
            NetBuffer buffer = new NetBuffer();

            buffer.Write(this.Name);

            buffer.Write(this.Version);

            buffer.Write(this.MapWidth);
            buffer.Write(this.MapHeight);

            for (int x = 0; x < this.MapWidth; x++)
            {
                for (int y = 0; y < this.MapHeight; y++)
                {
                    buffer.Write(this.GetTile(x, y).Blocked);

                    foreach (Layers layer in Enum.GetValues(typeof(Layers)))
                    {
                        if (this.GetTile(x, y).GetLayer(layer) == null)
                        {
                            buffer.Write(false);
                            continue;
                        }

                        buffer.Write(true);

                        buffer.Write(this.GetTile(x, y).GetLayer(layer).TextureNumber);
                        buffer.Write(this.GetTile(x, y).GetLayer(layer).SpriteRect.Left);
                        buffer.Write(this.GetTile(x, y).GetLayer(layer).SpriteRect.Top);
                        buffer.Write(this.GetTile(x, y).GetLayer(layer).SpriteRect.Width);
                        buffer.Write(this.GetTile(x, y).GetLayer(layer).SpriteRect.Height);
                    }
                }
            }

            var mapNpcs = this.GetMapNpcs();

            buffer.Write(mapNpcs.Length);

            foreach (var npc in mapNpcs)
            {
                buffer.Write(npc.Name);
                buffer.Write(npc.Level);
                buffer.Write(npc.TextureNumber);
                buffer.Write(npc.Position);
            }

            return buffer;
        }