Fix generic arguments for parameterless struct ctors

This commit is contained in:
Sinai 2022-03-16 23:21:39 +11:00
parent 3b71b40843
commit f1ca484712

View File

@ -30,9 +30,11 @@ namespace UnityExplorer.CacheObject
public override void SetInspectorOwner(ReflectionInspector inspector, MemberInfo member)
{
Type ctorReturnType;
// if is parameterless struct ctor
if (typeForStructConstructor != null)
{
ctorReturnType = typeForStructConstructor;
this.Owner = inspector;
// eg. Vector3.Vector3()
@ -43,12 +45,16 @@ namespace UnityExplorer.CacheObject
this.NameLabelTextRaw = NameForFiltering;
return;
}
else
{
base.SetInspectorOwner(inspector, member);
base.SetInspectorOwner(inspector, member);
Arguments = CtorInfo.GetParameters();
if (CtorInfo.DeclaringType.IsGenericTypeDefinition)
GenericArguments = CtorInfo.DeclaringType.GetGenericArguments();
Arguments = CtorInfo.GetParameters();
ctorReturnType = CtorInfo.DeclaringType;
}
if (ctorReturnType.IsGenericTypeDefinition)
GenericArguments = ctorReturnType.GetGenericArguments();
}
protected override object TryEvaluate()