Exemple #1
0
        public void Save()
        {
            Dictionary <string, string> outputValues = new Dictionary <string, string>(this.values);

            outputValues["width"]  = this.Width.ToString();
            outputValues["height"] = this.Height.ToString();
            List <string> tiles = new List <string>();

            foreach (List <Tile> tileStack in this.Grid)
            {
                string value = tileStack.Count == 0 ? "" : string.Join("|", tileStack.Select <Tile, string>(tile => tile == null ? "0" : tile.ID));
                while (value.EndsWith("|0"))
                {
                    value = value.Substring(0, value.Length - 2);
                }
                tiles.Add(value);
            }
            outputValues["tiles"] = string.Join(",", tiles);

            List <string> output = new List <string>();

            foreach (string key in outputValues.Keys)
            {
                output.Add("#" + key + ":" + outputValues[key]);
            }
            string finalOutput = string.Join("\r\n", output);

            FileStuff.WriteFile("data/levels/" + this.Name + ".txt", finalOutput);
            this.IsDirty = false;
        }