Пример #1
0
        public string GetNameById(NameIds nameId)
        {
            foreach (NameRecord name in this.names)
            {
                if (name.Platform == PlatformIDs.Windows && name.LanguageID == 0409)
                {
                    if (name.NameID == nameId)
                    {
                        return(name.Value);
                    }
                }
            }

            foreach (NameRecord name in this.names)
            {
                if (name.Platform == PlatformIDs.Windows)
                {
                    if (name.NameID == nameId)
                    {
                        return(name.Value);
                    }
                }
            }

            foreach (NameRecord name in this.names)
            {
                if (name.NameID == nameId)
                {
                    return(name.Value);
                }
            }

            return(null);
        }
Пример #2
0
 public NameRecord(PlatformIDs platform, ushort languageId, NameIds nameId, string value)
 {
     this.Platform   = platform;
     this.LanguageID = languageId;
     this.NameID     = nameId;
     this.value      = value;
 }
Пример #3
0
        public static NameRecord Read(BigEndianBinaryReader reader)
        {
            PlatformIDs platform   = reader.ReadUInt16 <PlatformIDs>();
            EncodingIDs encodingId = reader.ReadUInt16 <EncodingIDs>();
            Encoding    encoding   = encodingId.AsEncoding();
            ushort      languageID = reader.ReadUInt16();
            NameIds     nameID     = reader.ReadUInt16 <NameIds>();

            var stringReader = StringLoader.Create(reader, encoding);

            return(new NameRecord(platform, languageID, nameID, string.Empty)
            {
                StringReader = stringReader
            });
        }
Пример #4
0
        public string GetNameById(CultureInfo culture, NameIds nameId)
        {
#if SUPPORTS_CULTUREINFO_LCID
            var languageId = culture.LCID;
#else
            var languageId = 0x0409;
#endif
            NameRecord?usaVersion   = null;
            NameRecord?firstWindows = null;
            NameRecord?first        = null;
            foreach (NameRecord name in this.names)
            {
                if (name.NameID == nameId)
                {
                    // get just the first one, just incase.
                    first ??= name;
                    if (name.Platform == PlatformIDs.Windows)
                    {
                        // if us not found return the first windows one
                        firstWindows ??= name;
                        if (name.LanguageID == 0x0409)
                        {
                            // grab the us version as its on next best match
                            usaVersion ??= name;
                        }

                        if (name.LanguageID == languageId)
                        {
                            // return the most exact first
                            return(name.Value);
                        }
                    }
                }
            }

            return(usaVersion?.Value ??
                   firstWindows?.Value ??
                   first?.Value ??
                   string.Empty);
        }
Пример #5
0
        public void InitIdNames()
        {
            NameIds.Add("1万", AgariIndex.MAN1);
            NameIds.Add("2万", AgariIndex.MAN2);
            NameIds.Add("3万", AgariIndex.MAN3);
            NameIds.Add("4万", AgariIndex.MAN4);
            NameIds.Add("5万", AgariIndex.MAN5);
            NameIds.Add("6万", AgariIndex.MAN6);
            NameIds.Add("7万", AgariIndex.MAN7);
            NameIds.Add("8万", AgariIndex.MAN8);
            NameIds.Add("9万", AgariIndex.MAN9);

            NameIds.Add("1筒", AgariIndex.PIN1);
            NameIds.Add("2筒", AgariIndex.PIN2);
            NameIds.Add("3筒", AgariIndex.PIN3);
            NameIds.Add("4筒", AgariIndex.PIN4);
            NameIds.Add("5筒", AgariIndex.PIN5);
            NameIds.Add("6筒", AgariIndex.PIN6);
            NameIds.Add("7筒", AgariIndex.PIN7);
            NameIds.Add("8筒", AgariIndex.PIN8);
            NameIds.Add("9筒", AgariIndex.PIN9);

            NameIds.Add("1条", AgariIndex.SOU1);
            NameIds.Add("2条", AgariIndex.SOU2);
            NameIds.Add("3条", AgariIndex.SOU3);
            NameIds.Add("4条", AgariIndex.SOU4);
            NameIds.Add("5条", AgariIndex.SOU5);
            NameIds.Add("6条", AgariIndex.SOU6);
            NameIds.Add("7条", AgariIndex.SOU7);
            NameIds.Add("8条", AgariIndex.SOU8);
            NameIds.Add("9条", AgariIndex.SOU9);

            NameIds.Add("东", AgariIndex.TON);
            NameIds.Add("南", AgariIndex.NAN);
            NameIds.Add("西", AgariIndex.SHA);
            NameIds.Add("北", AgariIndex.PEI);
            NameIds.Add("白", AgariIndex.HAK);
            NameIds.Add("发", AgariIndex.HAT);
            NameIds.Add("中", AgariIndex.CHU);
            NameIds.Add("梅", AgariIndex.PLUM);
            NameIds.Add("兰", AgariIndex.ORCHID);
            NameIds.Add("竹", AgariIndex.BAMBOO);
            NameIds.Add("菊", AgariIndex.CHRYSANTHEMUM);
            NameIds.Add("春", AgariIndex.SPRING);
            NameIds.Add("夏", AgariIndex.SUMMER);
            NameIds.Add("秋", AgariIndex.AUTUMN);
            NameIds.Add("冬", AgariIndex.WINTER);


            IdNames.Add(AgariIndex.MAN1, "1万");
            IdNames.Add(AgariIndex.MAN2, "2万");
            IdNames.Add(AgariIndex.MAN3, "3万");
            IdNames.Add(AgariIndex.MAN4, "4万");
            IdNames.Add(AgariIndex.MAN5, "5万");
            IdNames.Add(AgariIndex.MAN6, "6万");
            IdNames.Add(AgariIndex.MAN7, "7万");
            IdNames.Add(AgariIndex.MAN8, "8万");
            IdNames.Add(AgariIndex.MAN9, "9万");

            IdNames.Add(AgariIndex.PIN1, "1筒");
            IdNames.Add(AgariIndex.PIN2, "2筒");
            IdNames.Add(AgariIndex.PIN3, "3筒");
            IdNames.Add(AgariIndex.PIN4, "4筒");
            IdNames.Add(AgariIndex.PIN5, "5筒");
            IdNames.Add(AgariIndex.PIN6, "6筒");
            IdNames.Add(AgariIndex.PIN7, "7筒");
            IdNames.Add(AgariIndex.PIN8, "8筒");
            IdNames.Add(AgariIndex.PIN9, "9筒");

            IdNames.Add(AgariIndex.SOU1, "1条");
            IdNames.Add(AgariIndex.SOU2, "2条");
            IdNames.Add(AgariIndex.SOU3, "3条");
            IdNames.Add(AgariIndex.SOU4, "4条");
            IdNames.Add(AgariIndex.SOU5, "5条");
            IdNames.Add(AgariIndex.SOU6, "6条");
            IdNames.Add(AgariIndex.SOU7, "7条");
            IdNames.Add(AgariIndex.SOU8, "8条");
            IdNames.Add(AgariIndex.SOU9, "9条");

            IdNames.Add(AgariIndex.TON, "东");
            IdNames.Add(AgariIndex.NAN, "南");
            IdNames.Add(AgariIndex.SHA, "西");
            IdNames.Add(AgariIndex.PEI, "北");
            IdNames.Add(AgariIndex.HAK, "白");
            IdNames.Add(AgariIndex.HAT, "发");
            IdNames.Add(AgariIndex.CHU, "中");
            IdNames.Add(AgariIndex.PLUM, "梅");
            IdNames.Add(AgariIndex.ORCHID, "兰");
            IdNames.Add(AgariIndex.BAMBOO, "竹");
            IdNames.Add(AgariIndex.CHRYSANTHEMUM, "菊");
            IdNames.Add(AgariIndex.SPRING, "春");
            IdNames.Add(AgariIndex.SUMMER, "夏");
            IdNames.Add(AgariIndex.AUTUMN, "秋");
            IdNames.Add(AgariIndex.WINTER, "冬");
        }