CEngineSharp_Client.World.Map.CacheMap C# (CSharp) Method

CacheMap() public method

public CacheMap ( ) : void
return void
        public void CacheMap()
        {
            using (var fileStream = new FileStream(Constants.FILEPATH_CACHE + "Maps/" + this.Name + ".map", FileMode.OpenOrCreate))
            {
                using (var binaryWriter = new BinaryWriter(fileStream))
                {
                    binaryWriter.Write(this.Name);

                    binaryWriter.Write(this.Version);

                    binaryWriter.Write(this._tiles.GetLength(0));
                    binaryWriter.Write(this._tiles.GetLength(1));

                    for (int x = 0; x < this._tiles.GetLength(0); x++)
                    {
                        for (int y = 0; y < this._tiles.GetLength(1); y++)
                        {
                            binaryWriter.Write(this.GetTile(x, y).Blocked);

                            foreach (Layers layer in Enum.GetValues(typeof(Map.Layers)))
                            {
                                if (this._tiles[x, y].GetLayer(layer) == null)
                                {
                                    binaryWriter.Write(false);
                                    continue;
                                }

                                binaryWriter.Write(true);
                                binaryWriter.Write(ServiceLocator.ScreenManager.ActiveScreen.TextureManager.GetTextureName(this._tiles[x, y].GetLayer(layer).Sprite.Texture));
                                binaryWriter.Write(this._tiles[x, y].GetLayer(layer).Sprite.TextureRect.Left);
                                binaryWriter.Write(this._tiles[x, y].GetLayer(layer).Sprite.TextureRect.Top);
                                binaryWriter.Write(this._tiles[x, y].GetLayer(layer).Sprite.TextureRect.Width);
                                binaryWriter.Write(this._tiles[x, y].GetLayer(layer).Sprite.TextureRect.Height);
                            }
                        }
                    }
                }
            }
        }