public static void GetEncyclopediaPageInstancePatch(ref EncyclopediaPageVM __result) { if (__result is EncyclopediaHeroPageVM) { EncyclopediaPageArgs args = (EncyclopediaPageArgs)typeof(EncyclopediaPageVM).GetField("_args", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__result); __result = new EncyclopediaHeroPageVMExtensionVM(args); } else if (__result is EncyclopediaFactionPageVM) { EncyclopediaPageArgs args = (EncyclopediaPageArgs)typeof(EncyclopediaPageVM).GetField("_args", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__result); __result = new EncyclopediaFactionPageVMExtensionVM(args); } }
public static void GetEncyclopediaPageInstancePostfix(ref EncyclopediaPageVM __result) { var args = (EncyclopediaPageArgs)AccessTools.Field(typeof(EncyclopediaPageVM), "_args").GetValue(__result); if (__result is EncyclopediaHeroPageVM) { __result = new EncyclopediaHeroPageVMExtensionVM(args); } else if (__result is EncyclopediaFactionPageVM) { __result = new EncyclopediaFactionPageVMExtensionVM(args); } }