Beispiel #1
0
        }                                                                                   // 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);
        }
Beispiel #2
0
 public static string GetFullLevelPath(string levelId)
 {
     levelId = levelId.ToUpper();
     return(Path.Combine(LevelContent.levelPath, LevelContent.GetLocalLevelPath(levelId)));
 }