private void ParseGameStrings() { foreach (string id in GameData.GameStringIds) { if (GameStringParser.TryParseRawTooltip(id, GameData.GetGameString(id), out string parsedGamestring)) { GameData.AddGameString(id, parsedGamestring); } } }
public GameStringParserTests() { _gameData = new FileGameData(_modsTestFolder); _gameData.LoadAllData(); _configuration = new Configuration(); _configuration.Load(); _gameStringParser = new GameStringParser(_configuration, _gameData); PreParse(); _defaultData = new DefaultData(_gameData); _defaultData.Load(); }
public GameStringParserTests() { GameData = new FileGameData(ModsTestFolder); GameData.LoadAllData(); Configuration = new Configuration(); Configuration.Load(); GameStringParser = new GameStringParser(Configuration, GameData); PreParse(); DefaultData = new DefaultData(GameData); DefaultData.Load(); }
private void LoadTestData() { GameData = new FileGameData(_modsTestFolder); GameData.LoadAllData(); DefaultData = new DefaultData(GameData); DefaultData.Load(); Configuration = new Configuration(); Configuration.Load(); GameStringParser = new GameStringParser(Configuration, GameData); ParseGameStrings(); XmlDataService = new XmlDataService(Configuration, GameData, DefaultData); }
private void LoadTestData() { _gameData = new FileGameData(_modsTestFolder); _gameData.LoadAllData(); _configuration = new Configuration(); _configuration.Load(); _gameStringParser = new GameStringParser(_configuration, _gameData); ParseGameStrings(); _defaultData = new DefaultData(_gameData); _defaultData.Load(); XmlDataOverriders xmlDataOverriders = XmlDataOverriders.Load(App.AssemblyPath, _gameData, _overrideFileNameSuffix); _heroOverrideLoader = (HeroOverrideLoader)xmlDataOverriders.GetOverrider(typeof(HeroDataParser)); _xmlDataService = new XmlDataService(_configuration, _gameData, _defaultData); }
private void LoadTestData() { GameData = new FileGameData(ModsTestFolder); GameData.LoadAllData(); Configuration = new Configuration(); Configuration.Load(); GameStringParser = new GameStringParser(Configuration, GameData); ParseGameStrings(); DefaultData = new DefaultData(GameData); DefaultData.Load(); XmlDataOverriders xmlDataOverriders = XmlDataOverriders.Load(GameData, OverrideFileNameSuffix); HeroOverrideLoader = (HeroOverrideLoader)xmlDataOverriders.GetOverrider(typeof(HeroDataParser)); XmlDataService = new XmlDataService(Configuration, GameData, DefaultData); }
private void ParseGameStrings(Localization localization) { int currentCount = 0; int failedCount = 0; int totalGameStrings = GameData.GameStringCount + GameData.GameStringMapCount; List <string> failedGameStrings = new List <string>(); Stopwatch time = new Stopwatch(); GameStringParser gameStringParser = new GameStringParser(Configuration, GameData, HotsBuild); Console.WriteLine($"Parsing gamestrings..."); time.Start(); Console.Write($"\r{currentCount,6} / {totalGameStrings} total gamestrings"); try { Parallel.ForEach(GameData.GameStringIds, new ParallelOptions { MaxDegreeOfParallelism = MaxParallelism }, gamestringId => { if (!gameStringParser.TryParseRawTooltip(gamestringId, GameData.GetGameString(gamestringId), out string parsedGamestring)) { failedGameStrings.Add($"{gamestringId}={GameData.GetGameString(gamestringId)}"); Interlocked.Increment(ref failedCount); } // always add GameData.AddGameString(gamestringId, parsedGamestring); Console.Write($"\r{Interlocked.Increment(ref currentCount),6} / {totalGameStrings} total gamestrings"); }); // map specific data foreach (string mapName in GameData.MapIds) { GameData mapGameData = GameData.GetMapGameData(mapName); GameData.AppendGameData(mapGameData); Parallel.ForEach(mapGameData.GameStringIds, new ParallelOptions { MaxDegreeOfParallelism = MaxParallelism }, gamestringId => { if (!gameStringParser.TryParseRawTooltip(gamestringId, mapGameData.GetGameString(gamestringId), out string parsedGamestring)) { failedGameStrings.Add($"[{mapName}]:{gamestringId}={GameData.GetGameString(gamestringId)}"); Interlocked.Increment(ref failedCount); } // always add GameData.AddMapGameString(mapName, gamestringId, parsedGamestring); Console.Write($"\r{Interlocked.Increment(ref currentCount),6} / {totalGameStrings} total gamestrings"); }); GameData.RestoreGameData(); } } catch (AggregateException ae) { WriteExceptionLog($"gamestrings_{localization.ToString().ToLower()}", ae); ae.Handle(ex => { if (ex is GameStringParseException) { ConsoleExceptionMessage($"{Environment.NewLine}{ex.Message}"); } return(ex is GameStringParseException); }); } Console.WriteLine(); time.Stop(); if (failedCount > 0) { WriteInvalidGameStrings(failedGameStrings, localization); Console.ForegroundColor = ConsoleColor.Yellow; } Console.WriteLine($"{totalGameStrings - failedCount,6} successfully parsed gamestrings"); Console.ResetColor(); Console.WriteLine($"Finished in {time.Elapsed.TotalSeconds} seconds"); Console.WriteLine(); }