public void SaveSeasonPack(SeasonPack seasonPack, string targetPath) { var projectFolder = new DirectoryInfo(targetPath); if (!projectFolder.Exists) { throw new(); } seasonPackLoader.Save(seasonPack, createGamedataDirectoryInfo(projectFolder)); }
private static void UploadSeason(SeasonPack season) { string urlTemplate = "http://simulationhockey.com/games/{leagueLow}/S{seasonNumber}/{seasonType}/{leagueUp}-{playoffAcro}ProTeamScoring.html"; Console.WriteLine(""); Console.WriteLine(season.leagueAcro + ": " + season.number + ": " + (season.isPlayoffs ? "PLF" : "") + ": " + (season.isLegacy ? "LEG" : "")); SeasonData seasonData = new SeasonData(season.number, season.leagueAcro, season.isPlayoffs); try { if (season.isLegacy) { Console.Write("Loading - "); var loader = new LegacyFileLoader(seasonData); var document = loader.LoadFile(); Console.Write("Extracting - "); var extractor = new LegacyExtractor(seasonData); seasonData = extractor.Extract(document); } else { Console.Write("Downloading - "); var loader = new FileLoader(seasonData); var document = loader.LoadFile(); if (document == null) { document = loader.DownloadFile(urlTemplate, false); } Console.Write("Extracting - "); var extractor = new Extractor(seasonData); seasonData = extractor.Extract(document); } Console.Write("Uploading - "); var uploader = new SeasonUploader(seasonData); uploader.Upload(); } catch (Exception e) { Console.Write("Error: " + e.Message); } }
public void Save(SeasonPack seasonPack, DirectoryInfo gamedataFolder) { var levelData = new XmlLevelDataRoot { Sets = seasonPack.Seasons .OrderBy(s => s.Value.Index) .Select(s => s.Value.Season) .Select(s => { var set = new XmlLevelDataSet { Name = s.Id, State = new() { IsUnlocked = s.Unlocked, }, NextSet = s.Unlocks?.Id, Levels = s.Levels .OrderBy(l => l.Value.Index) .Select(l => l.Value.Level) .Select(l => { var level = new XmlLevelDataLevel { Name = l.Id, MinQuota = l.MinPercent, Reachable = l.TrickCount, State = new() { IsUnlocked = l.Unlocked }, Time = l.TimeLimit, }; saveLevelDescription(gamedataFolder, l.Id, l.Description); return(level); }) .ToList(), }; return(set); }) .ToList(), }; // Serialize var serialized = serializer.Serialize(levelData); // WriteAll File.WriteAllText(Path.Combine(gamedataFolder.FullName, "leveldata.xml"), serialized); }