InjectFix
InjectFix copied to clipboard
新加类后,使用新类数组报错Unhandled Exception:System.Exception: RenderDepthInfo is new class, cannot be treated as extern type
[IFix.Interpret] public class RenderDepthInfo { public Renderer renderer; public Material[] Materials;
public void Init(Renderer rend)
{
renderer = rend;
Materials = renderer.materials;
}
}
[IFix.Interpret] public class RenderDepthArray { public RenderDepthInfo[] renders;
public void Init(List<Renderer> allRends)
{
renders = new RenderDepthInfo[allRends.Count];
for (int i = 0; i < allRends.Count; i++)
{
if (allRends[i] != null)
{
renders[i] = new RenderDepthInfo();
renders[i].Init(allRends[i]);
}
}
}
}
public class Test: MonoBehaviour {
public List<Renderer> allRends = new List<Renderer>();
[IFix.Interpret] private RenderDepthArray renderDepthArray;
[IFix.Patch]
public void Init()
{
if (Application.isPlaying)
{
renderDepthArray = new RenderDepthArray();
renderDepthArray.Init(allRends);
}
}
}
Unhandled Exception:System.Exception: RenderDepthInfo is new class, cannot be treated as extern type at IFix.CodeTranslator.getMethodId (Mono.Cecil.MethodReference callee, Mono.Cecil.MethodDefinition caller, System.Boolean isCallvirt, System.Boolean directCallVirtual, IFix.CodeTranslator+InjectType callerInjectType) [0x01dad] in C:\Users\Administrator\Downloads\InjectFix-master (2)\InjectFix-master\Source\VSProj\Src\Tools\CodeTranslator.cs:1933 at IFix.CodeTranslator.processMethod (Mono.Cecil.MethodDefinition method) [0x00007] in C:\Users\Administrator\Downloads\InjectFix-master (2)\InjectFix-master\Source\VSProj\Src\Tools\CodeTranslator.cs:602 at IFix.CodeTranslator.Process (Mono.Cecil.AssemblyDefinition assembly, Mono.Cecil.AssemblyDefinition ilfixAassembly, IFix.GenerateConfigure configure, IFix.ProcessMode mode) [0x0036d] in C:\Users\Administrator\Downloads\InjectFix-master (2)\InjectFix-master\Source\VSProj\Src\Tools\CodeTranslator.cs:3424 at IFix.Program.Main (System.String[] args) [0x001e7] in C:\Users\Administrator\Downloads\InjectFix-master (2)\InjectFix-master\Source\VSProj\Src\Tools\CSFix.cs:118