CEngineSharp_Editor.World.Map.Save C# (CSharp) Метод

Save() публичный Метод

public Save ( string filePath, List tileSetSprites ) : void
filePath string
tileSetSprites List
Результат void
        public void Save(string filePath, List<Texture> tileSetSprites)
        {
            this.Version++;

            using (FileStream fileStream = new FileStream(filePath + this.Name + ".map", FileMode.OpenOrCreate))
            {
                using (BinaryWriter 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].Layers[(int)layer] == null)
                                {
                                    binaryWriter.Write(false);
                                    continue;
                                }

                                binaryWriter.Write(true);

                                binaryWriter.Write(tileSetSprites.IndexOf(this.GetTile(x, y).Layers[(int)layer].Sprite.Texture));

                                binaryWriter.Write(this.tiles[x, y].Layers[(int)layer].Sprite.TextureRect.Left);
                                binaryWriter.Write(this.tiles[x, y].Layers[(int)layer].Sprite.TextureRect.Top);
                                binaryWriter.Write(this.tiles[x, y].Layers[(int)layer].Sprite.TextureRect.Width);
                                binaryWriter.Write(this.tiles[x, y].Layers[(int)layer].Sprite.TextureRect.Height);
                            }
                        }
                    }
                }
            }
        }