} // MusicTrack enum public void SaveLevel(string baseDir = null, string destLevelId = null) { // Determine the Destination Path and Destination Level ID if (baseDir == null) { baseDir = LevelContent.levelPath; } if (destLevelId == null) { destLevelId = this.levelId; } // Can only save a level state if the level ID is assigned correctly. if (destLevelId.Length == 0) { return; } destLevelId = destLevelId.ToUpper(); // Make sure the directory exists: if (!Directory.Exists(baseDir)) { Directory.CreateDirectory(baseDir); } // Make sure the level's directory exists: string levelDir = LevelContent.GetFullLevelDir(baseDir, destLevelId); if (!Directory.Exists(levelDir)) { Directory.CreateDirectory(levelDir); } // Save State string fullDestPath = Path.Combine(baseDir, LevelContent.GetLocalLevelPath(destLevelId)); string json = JsonConvert.SerializeObject(this.data); File.WriteAllText(fullDestPath, json); }
public static string GetFullLevelPath(string levelId) { levelId = levelId.ToUpper(); return(Path.Combine(LevelContent.levelPath, LevelContent.GetLocalLevelPath(levelId))); }