CEngineSharp_Server.World.Content_Managers.MapManager.LoadMap C# (CSharp) Method

LoadMap() private method

private LoadMap ( string fileName ) : Map
fileName string
return CEngineSharp_Server.World.Maps.Map
        private Map LoadMap(string fileName)
        {
            Map map = new Map();

            using (FileStream fileStream = new FileStream(fileName, FileMode.Open))
            {
                using (BinaryReader binaryReader = new BinaryReader(fileStream))
                {
                    map.Name = binaryReader.ReadString();

                    map.Version = binaryReader.ReadInt32();

                    int mapWidth = binaryReader.ReadInt32();
                    int mapHeight = binaryReader.ReadInt32();

                    map.ResizeMap(mapWidth, mapHeight);

                    for (int x = 0; x < mapWidth; x++)
                    {
                        for (int y = 0; y < mapHeight; y++)
                        {
                            map.SetTile(x, y, new Map.Tile());

                            map.GetTile(x, y).Blocked = binaryReader.ReadBoolean();

                            foreach (Layers layer in Enum.GetValues(typeof(Layers)))
                            {
                                if (binaryReader.ReadBoolean() == false) continue;

                                int tileSetTextureIndex = binaryReader.ReadInt32();
                                int tileLeft = binaryReader.ReadInt32();
                                int tileTop = binaryReader.ReadInt32();
                                int tileWidth = binaryReader.ReadInt32();
                                int tileHeight = binaryReader.ReadInt32();

                                var tileLayer = new Map.Tile.Layer
                                {
                                    SpriteRect = new Rect(tileLeft, tileTop, tileHeight, tileWidth),
                                    TextureNumber = tileSetTextureIndex
                                };
                                map.GetTile(new Vector(x, y)).SetLayer(tileLayer, layer);
                            }
                        }
                    }
                }
            }
            return map;
        }