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); }
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); }
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); }