编译后创建继承

Create inheritance after compiling

我目前正在 "with" Unity 工作,主要是为使用 Unity 引擎的游戏创建 mod。我们使用的 "modloader" 以及我一直在研究的 mod 也将 mod 添加到游戏对象中。为此,需要从 class "MonoBehaviour" 派生 mod。但是我自己经常忘记这样做。

有没有编译后创建继承的方法?例如反射? 我想到的另一件事是使用 Mono.Cecil 并设置 "BaseType" 变量。那行得通吗?

我没有任何代码,因为在那之前需要做很多工作。

谢谢!

您正在使用轨道激光炮射击跳蚤。继承自 MonoBehaviour。就是这样。

Unity 的反射在某些平台上有些受限,在 iOS 上肯定没有代码发布。我会说,除非没有其他方法可以完成您想要的事情,否则冒险深入到 Reflection-land 是一种不好的做法。幸运的是,这里并非如此。

可以做预编译代码修改: Compile-time source code modification using Roslyn

但是,再一次 - 只需继承 MonoBehaviour 或创建一个 class 模板 - 不要管轨道炮。