diff --git a/Data~/Templates/MethodBridge_Arm64.cpp.txt b/Data~/Templates/MethodBridge_Arm64.cpp.txt index e5cfc75..0270f37 100644 --- a/Data~/Templates/MethodBridge_Arm64.cpp.txt +++ b/Data~/Templates/MethodBridge_Arm64.cpp.txt @@ -1,4 +1,4 @@ -#include "MethodBridge.h" +#include "MethodBridge.h" #include #include "vm/ClassInlines.h" @@ -13,7 +13,6 @@ #include "InstrinctDef.h" using namespace hybridclr::interpreter; -using hybridclr::GetInterpreterDirectlyCallMethodPointer; #if HYBRIDCLR_ABI_ARM_64 //!!!{{INVOKE_STUB diff --git a/Data~/Templates/MethodBridge_Universal32.cpp.txt b/Data~/Templates/MethodBridge_Universal32.cpp.txt index 7a2ca8c..975ca43 100644 --- a/Data~/Templates/MethodBridge_Universal32.cpp.txt +++ b/Data~/Templates/MethodBridge_Universal32.cpp.txt @@ -1,4 +1,4 @@ -#include "MethodBridge.h" +#include "MethodBridge.h" #include #include "vm/ClassInlines.h" @@ -13,7 +13,6 @@ #include "InstrinctDef.h" using namespace hybridclr::interpreter; -using hybridclr::GetInterpreterDirectlyCallMethodPointer; #if HYBRIDCLR_ABI_UNIVERSAL_32 //!!!{{INVOKE_STUB diff --git a/Data~/Templates/MethodBridge_Universal64.cpp.txt b/Data~/Templates/MethodBridge_Universal64.cpp.txt index 459d43d..cdc952f 100644 --- a/Data~/Templates/MethodBridge_Universal64.cpp.txt +++ b/Data~/Templates/MethodBridge_Universal64.cpp.txt @@ -1,4 +1,4 @@ -#include "MethodBridge.h" +#include "MethodBridge.h" #include #include "vm/ClassInlines.h" @@ -13,7 +13,6 @@ #include "InstrinctDef.h" using namespace hybridclr::interpreter; -using hybridclr::GetInterpreterDirectlyCallMethodPointer; #if HYBRIDCLR_ABI_UNIVERSAL_64 //!!!{{INVOKE_STUB diff --git a/Editor/MethodBridge/PlatformAdaptor_Arm64.cs b/Editor/MethodBridge/PlatformAdaptor_Arm64.cs index 1752492..84de492 100644 --- a/Editor/MethodBridge/PlatformAdaptor_Arm64.cs +++ b/Editor/MethodBridge/PlatformAdaptor_Arm64.cs @@ -58,7 +58,7 @@ namespace HybridCLR.Editor.MethodBridge static void __M2N_{method.CreateCallSigName()}(const MethodInfo* method, uint16_t* argVarIndexs, StackObject* localVarBase, void* ret) {{ typedef {method.ReturnInfo.Type.GetTypeName()} (*NativeMethod)({paramListStr}); - {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(GetInterpreterDirectlyCallMethodPointer(method)))({paramNameListStr}); + {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(method->methodPointerCallByInterp))({paramNameListStr}); }} "); } diff --git a/Editor/MethodBridge/PlatformAdaptor_Universal32.cs b/Editor/MethodBridge/PlatformAdaptor_Universal32.cs index ef0b55a..bc56acc 100644 --- a/Editor/MethodBridge/PlatformAdaptor_Universal32.cs +++ b/Editor/MethodBridge/PlatformAdaptor_Universal32.cs @@ -41,7 +41,7 @@ namespace HybridCLR.Editor.MethodBridge static void __M2N_{method.CreateCallSigName()}(const MethodInfo* method, uint16_t* argVarIndexs, StackObject* localVarBase, void* ret) {{ typedef {method.ReturnInfo.Type.GetTypeName()} (*NativeMethod)({paramListStr}); - {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(GetInterpreterDirectlyCallMethodPointer(method)))({paramNameListStr}); + {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(method->methodPointerCallByInterp))({paramNameListStr}); }} "); } diff --git a/Editor/MethodBridge/PlatformAdaptor_Universal64.cs b/Editor/MethodBridge/PlatformAdaptor_Universal64.cs index 7c411e0..d1950e8 100644 --- a/Editor/MethodBridge/PlatformAdaptor_Universal64.cs +++ b/Editor/MethodBridge/PlatformAdaptor_Universal64.cs @@ -39,7 +39,7 @@ namespace HybridCLR.Editor.MethodBridge static void __M2N_{method.CreateCallSigName()}(const MethodInfo* method, uint16_t* argVarIndexs, StackObject* localVarBase, void* ret) {{ typedef {method.ReturnInfo.Type.GetTypeName()} (*NativeMethod)({paramListStr}); - {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(GetInterpreterDirectlyCallMethodPointer(method)))({paramNameListStr}); + {(!method.ReturnInfo.IsVoid ? $"*({method.ReturnInfo.Type.GetTypeName()}*)ret = " : "")}((NativeMethod)(method->methodPointerCallByInterp))({paramNameListStr}); }} "); } diff --git a/Editor/Settings/HybridCLRSettings.cs b/Editor/Settings/HybridCLRSettings.cs index a0f6ea8..426fc76 100644 --- a/Editor/Settings/HybridCLRSettings.cs +++ b/Editor/Settings/HybridCLRSettings.cs @@ -27,12 +27,12 @@ namespace HybridCLR.Editor public string outputAOTGenericReferenceFile = "HybridCLRData/Generated/AOTGenericReferences.cs"; [Header("AOT泛型实例化搜索迭代次数")] - public int maxGenericReferenceIteration = 4; + public int maxGenericReferenceIteration = 10; [Header("预留MonoPInvokeCallbackAttribute函数个数")] public int ReversePInvokeWrapperCount = 10; [Header("MethodBridge泛型搜索迭代次数")] - public int maxMethodBridgeGenericIteration = 4; + public int maxMethodBridgeGenericIteration = 10; } } diff --git a/package.json b/package.json index b2d2401..3f00ce1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.focus-creative-games.hybridclr_unity", - "version": "0.3.9", + "version": "0.4.0", "displayName": "HybridCLR", "description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR", "category": "Runtime",