HarmonyLib无法修改变量怎么办?
具体游戏是戴森球计划
[HarmonyPrefix]
[HarmonyPatch(typeof(InserterComponent), "InternalUpdate")]
public static bool InternalUpdatePrefix(InserterComponent __instance)
{
__instance.itemId = 1234; // 测试
Console.WriteLine(__instance.itemId); // 打印 1234
return false;
}
[HarmonyPostfix]
[HarmonyPatch(typeof(InserterComponent), "InternalUpdate")]
public static void InternalUpdatePostfix(InserterComponent __instance)
{
Console.WriteLine(__instance.itemId); // 打印 0
}
做了个简单的测试,但未能改变 itemId 的值,反编译游戏代码,itemId 是 public
public int itemId;
不清楚为什么不能改
我曾经猜测可能是某段代码又把itemId该回去了,但HarmonyPrefix
->InternalUpdate
->HarmonyPostfix
这个不是连贯的吗?感觉不太可能有代码参与其中
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论