public override bool Execute(List <string> args)
        {
            if (args.Count != 1 && args.Count != 2)
            {
                return(false);
            }
            GameLanguage language;

            if (!ArgumentParser.ParseLanguage(args[0], out language))
            {
                return(false);
            }
            var filter = (args.Count == 2) ? args[1] : null;

            var strings = LocalizedStringPrinter.PrepareForDisplay(_unic, _stringIds, _unic.Strings, language, filter);

            if (strings.Count > 0)
            {
                LocalizedStringPrinter.PrintStrings(strings);
            }
            else
            {
                Console.Error.WriteLine("No strings found.");
            }

            return(true);
        }
Beispiel #2
0
        public override object Execute(List <string> args)
        {
            if (args.Count != 1 && args.Count != 2)
            {
                return(false);
            }

            if (!ArgumentParser.TryParseEnum(args[0], out GameLanguage language))
            {
                return(false);
            }

            var filter  = (args.Count == 2) ? args[1] : null;
            var strings = LocalizedStringPrinter.PrepareForDisplay(Definition, Cache.StringTable, Definition.Strings, language, filter);

            if (strings.Count > 0)
            {
                LocalizedStringPrinter.PrintStrings(strings);
            }
            else
            {
                Console.WriteLine("No strings found.");
            }

            return(true);
        }
Beispiel #3
0
        public override object Execute(List <string> args)
        {
            if (args.Count != 1 && args.Count != 2)
            {
                return(false);
            }

            if (!ArgumentParser.TryParseEnum(args[0], out GameLanguage language))
            {
                return(false);
            }

            var filter = (args.Count == 2) ? args[1] : null;
            var found  = false;

            using (var stream = CacheContext.OpenTagCacheRead())
            {
                foreach (var unicTag in CacheContext.TagCache.Index.FindAllInGroup("unic"))
                {
                    var unic    = CacheContext.Deserialize <MultilingualUnicodeStringList>(stream, unicTag);
                    var strings = LocalizedStringPrinter.PrepareForDisplay(unic, CacheContext.StringIdCache, unic.Strings, language, filter);

                    if (strings.Count == 0)
                    {
                        continue;
                    }

                    if (found)
                    {
                        Console.WriteLine();
                    }

                    Console.WriteLine("Strings found in {0:X8}.unic:", unicTag.Index);
                    LocalizedStringPrinter.PrintStrings(strings);

                    found = true;
                }
            }

            if (!found)
            {
                Console.Error.WriteLine("No strings found.");
            }

            return(true);
        }
        public override bool Execute(List <string> args)
        {
            if (args.Count != 1 && args.Count != 2)
            {
                return(false);
            }
            GameLanguage language;

            if (!ArgumentParser.ParseLanguage(args[0], out language))
            {
                return(false);
            }
            var filter = (args.Count == 2) ? args[1] : null;

            var found = false;

            using (var stream = _info.OpenCacheRead())
            {
                foreach (var unicTag in _info.Cache.Tags.FindAllInGroup("unic"))
                {
                    var unic    = _info.Deserializer.Deserialize <MultilingualUnicodeStringList>(new TagSerializationContext(stream, _info.Cache, _info.StringIDs, unicTag));
                    var strings = LocalizedStringPrinter.PrepareForDisplay(unic, _info.StringIDs, unic.Strings, language, filter);
                    if (strings.Count == 0)
                    {
                        continue;
                    }
                    if (found)
                    {
                        Console.WriteLine();
                    }
                    Console.WriteLine("Strings found in {0:X8}.unic:", unicTag.Index);
                    LocalizedStringPrinter.PrintStrings(strings);
                    found = true;
                }
            }
            if (!found)
            {
                Console.Error.WriteLine("No strings found.");
            }

            return(true);
        }