InjectFix
InjectFix copied to clipboard
InjectFix is a hot-fix solution library for Unity
getWrapperMethod方法的注释里说"是否向基类收敛(如果是delegate适配器,就不能收敛)" 这个为什么这么说,比如完全可以把bool __Gen_Wrap_X(Object arg1)函数赋值给Func的委托对象 这样看来是可以收敛的,也更倾向于收敛才对,

版本:Unity2017.4.40c1  重现代码: ```csharp using IFix.Core; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using UnityEngine; public class Test : MonoBehaviour { void Start() { var patchPath = "./Assembly-CSharp.patch.bytes"; if...
报错信息大致如下:System.NotSupportedException: Cannot invoke method returning ByRef type via reflection
如图是编辑器下正常堆栈:  这是使用了Patch后的堆栈:  这是IL2CPP真机堆栈:  **是否有办法打印正确堆栈呢?目前Stack Trace选项已改为Full,C++ Compiler Configuration已改为Debug**
IndexOutOfRangeException: Index was outside the bounds of the array. at IFix.Core.VirtualMachine.Execute (IFix.Core.Instruction* pc, IFix.Core.Value* argumentBase, System.Object[] managedStack, IFix.Core.Value* evaluationStackBase, System.Int32 argsCount, System.Int32 methodIndex, System.Int32 refCount, IFix.Core.Value** topWriteBack) [0x00000] in :0...
当用Interrupt新增一个协程,且新增StartCoroutine调用此协程时,如果之前在configure配置的热修复的类里面没有协程方法,就会报标题的异常,如果有就正常运行,把IEnumerator加入CustomDelegate也没用 亲测此问题,感觉是一个bug
TestA类和TestB类属于两个不同的dll,分别打到不同的path.bytes中 TestB类增加一个BFunction方法 TestA类对TestA.AFunction方法进行修改,方法内调用TestB.BFunction方法 加载TestA的path.bytes的时候提示Exception: can not load method [BFunction] of TestB
代码案例如下: 子类 [IFix.Patch] private void InitView(){ base.InitView() } 父类 public virtual void InitView(){} 使用的是2021年大概8月左右的InjectFix 版本
车老板,是否有好的解决方案可以用来提高开发效率?C# + Unity 每次修改代码编译太慢,这方面我比较无知。希望能得到一个不错的方案。谢谢~