public void _LoadContent()
{
// フィールドを取得してくる
var type = this.GetType();
var fontItemStack = type.GetField("fontItemStack");
var fontMouseText = type.GetField("fontMouseText");
var fontDeathText = type.GetField("fontDeathText");
var type_base = base.GetType();
var Content = (ContentManager)type_base.GetProperty("Content").GetValue(this, null);
var test = (SpriteFont)fontMouseText.GetValue(this);
// 日本語用のスプライトフォントを読み込ませる
var font_dir = ".." + Path.DirectorySeparatorChar + "Terraria_JP" + Path.DirectorySeparatorChar + "Fonts" + Path.DirectorySeparatorChar;
fontItemStack.SetValue(this, (SpriteFont)Content.Load<SpriteFont>(font_dir + "Item_Stack"));
fontMouseText.SetValue(this, (SpriteFont)Content.Load<SpriteFont>(font_dir + "Mouse_Text"));
fontDeathText.SetValue(this, (SpriteFont)Content.Load<SpriteFont>(font_dir + "Death_Text"));
var fontCombatText = (SpriteFont)Content.Load<SpriteFont>(font_dir + "Combat_Text");
var fontCombatCrit = (SpriteFont)Content.Load<SpriteFont>(font_dir + "Combat_Crit");
test = (SpriteFont)fontMouseText.GetValue(this);
// fontCombatTextは配列なのでセットの仕方が特殊
type.InvokeMember("fontCombatText", BindingFlags.SetField, null, this, new object[] { 0, fontCombatText });
type.InvokeMember("fontCombatText", BindingFlags.SetField, null, this, new object[] { 1, fontCombatCrit });
}