Beispiel #1
0
        private void SaveMap()
        {
            SavedLevelData levelData = CreateInstance <SavedLevelData>();

            foreach (KeyValuePair <Vector2Int, QuadTile> tile in tileMap.GetTiles())
            {
                levelData.Tiles.Add(tile.Key,
                                    new SavedLevelData.SavedTileData {
                    Data = tile.Value.Data(), Height = tile.Value.height
                });
            }

            string path = "Assets" + EditorUtility
                          .SaveFilePanel("Save Level", "Assets/Levels/", "New Level.asset", "asset")
                          .Substring(Application.dataPath.Length);

            SavedLevelData data = AssetDatabase.LoadAssetAtPath <SavedLevelData>(path);

            AssetDatabase.CreateAsset(levelData, path);
        }