private static T ExtractJSON <T>(WADArchive archive, Func <string, string> path) { WADArchive.FileInfo fileInfo; if (archive.TryGetFile(path(Region.Locale.ToLowerInvariant()), out fileInfo)) { return(JSONDeserializer.Deserialize <T>(JSONParser.Parse(archive.Extract(fileInfo)))); } if (archive.TryGetFile(path(GameDataAssets.DefaultLocale), out fileInfo)) { return(JSONDeserializer.Deserialize <T>(JSONParser.Parse(archive.Extract(fileInfo)))); } throw new KeyNotFoundException($"File {path(GameDataAssets.DefaultLocale)} not found"); }
public void Supply(WADArchive arg) => tcs.SetResult(arg);