Ejemplo n.º 1
0
        public void SaveSeasonPack(SeasonPack seasonPack, string targetPath)
        {
            var projectFolder = new DirectoryInfo(targetPath);

            if (!projectFolder.Exists)
            {
                throw new();
            }

            seasonPackLoader.Save(seasonPack, createGamedataDirectoryInfo(projectFolder));
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }