V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zeronofreya
V2EX  ›  问与答

有用 BepInEx 开发过 mod 的大佬吗,修改变量无效?

  •  1
     
  •   zeronofreya · 2021-08-03 22:29:47 +08:00 · 573 次点击
    这是一个创建于 968 天前的主题,其中的信息可能已经有所发展或是发生改变。

    具体游戏是戴森球计划

    [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;
    

    不清楚为什么不能改

    2 条回复    2021-08-04 15:26:30 +08:00
    levelworm
        1
    levelworm  
       2021-08-04 04:27:58 +08:00
    弱弱的问,这是传引用还是值进去?
    zeronofreya
        2
    zeronofreya  
    OP
       2021-08-04 15:26:30 +08:00
    @levelworm 我觉得是值
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3710 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:04 · PVG 13:04 · LAX 22:04 · JFK 01:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.