Skip to content

Commit

Permalink
Remove parameter name check and add return type check
Browse files Browse the repository at this point in the history
  • Loading branch information
ds5678 authored Sep 8, 2024
1 parent f069c4d commit dd279c1
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions Il2CppInterop.Runtime/Injection/ClassInjector.cs
Original file line number Diff line number Diff line change
Expand Up @@ -359,17 +359,13 @@ static void FindAbstractMethods(List<INativeMethodInfoStruct> list, INativeClass
{
if (Marshal.PtrToStringAnsi(m.Name) != name) return false;
if (m.ParametersCount != baseMethod.ParametersCount) return false;
if (GetIl2CppTypeFullName(m.ReturnType) != GetIl2CppTypeFullName(baseMethod.ReturnType)) return false;

for (var i = 0; i < m.ParametersCount; i++)
{
var parameterName = IL2CPP.il2cpp_method_get_param_name(baseMethod.Pointer, (uint)i);
var otherParameterName = IL2CPP.il2cpp_method_get_param_name(m.Pointer, (uint)i);

var parameterInfo = UnityVersionHandler.Wrap(baseMethod.Parameters, i);
var otherParameterInfo = UnityVersionHandler.Wrap(m.Parameters, i);

if (Marshal.PtrToStringAnsi(parameterName) != Marshal.PtrToStringAnsi(otherParameterName)) return false;

if (GetIl2CppTypeFullName(parameterInfo.ParameterType) != GetIl2CppTypeFullName(otherParameterInfo.ParameterType)) return false;
}

Expand Down

0 comments on commit dd279c1

Please sign in to comment.