Ejemplo n.º 1
0
        public string AffixName()
        {
            // オリジナルのテキストを取得
            var type       = typeof(Terraria.Item);
            var method     = type.GetMethod("_AffixName");
            var str_origin = (string)method.Invoke(this, null);

            // プレフィクスとアイテムのフィールドを取得
            var f_prefix = type.GetField("prefix");
            var f_name   = type.GetField("name");

            // フィールドから値を取得
            var prefix = Ja.GetPrefix((byte)f_prefix.GetValue(this));
            var name   = (string)f_name.GetValue(this);

            // 名前が空でなければ、日本語を返す
            if (name != "")
            {
                if (prefix != "")
                {
                    return(name + "(" + prefix + ")");
                }
                else
                {
                    return(name);
                }
            }

            // 名前が空ならば、元の名前を返す
            return(str_origin);
        }
Ejemplo n.º 2
0
        public static void setLang()
        {
            // オリジナルのテキストを取得
            var type       = typeof(Terraria.Lang);
            var method     = type.GetMethod("_setLang");
            var str_origin = (string)method.Invoke(null, null);

            // XML上のテキストを設定
            Ja.setLang(type);
        }
Ejemplo n.º 3
0
        public static string setBonus(int l)
        {
            // オリジナルのテキストを取得
            var type       = typeof(Terraria.Lang);
            var method     = type.GetMethod("_setBonus");
            var str_origin = (string)method.Invoke(null, new object[] { l });

            // XML上のテキストを取得
            var str_ja = Ja.GetSetBonus(l);

            // 空でない方のテキストを返す
            return((str_ja == "") ? str_origin : str_ja);
        }