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");
        }
Exemple #2
0
 public void Supply(WADArchive arg) => tcs.SetResult(arg);