mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-19 15:51:48 +00:00
Added null member case
This commit is contained in:
1 parent
0895c58524
commit
7b5e38b10e
1 file changed
+12
-6
@@ -26,7 +26,11 @@ public sealed class ModdedOptionVisiblityAttribute(Type? holderType = null, stri
|
||||
|
||||
internal Func<bool>? GetVisibility(AbstractOptionGroup group, PropertyInfo property)
|
||||
{
|
||||
MemberInfo? member = GetVisibilityMember(group, property, out Type type);
|
||||
if (GetVisibilityMember(group, property, out Type type) is not { } member)
|
||||
{
|
||||
Error($"Member {memberName} does not exist in {type.FullName}");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (member is MethodInfo vMethod)
|
||||
{
|
||||
@@ -44,15 +48,18 @@ public sealed class ModdedOptionVisiblityAttribute(Type? holderType = null, stri
|
||||
|
||||
return () => (bool)vMethod.Invoke(group, null)!;
|
||||
}
|
||||
// TODO: Properties and/or fields
|
||||
|
||||
Error($"Valid member {memberName} does not exist in group {type.FullName}.");
|
||||
Error($"Member {memberName} of {type.FullName} is not valid for Visible function.");
|
||||
return null;
|
||||
}
|
||||
|
||||
internal Func<int, bool>? GetListVisibility(AbstractOptionGroup group, PropertyInfo property)
|
||||
{
|
||||
MemberInfo? member = GetVisibilityMember(group, property, out Type type);
|
||||
if (GetVisibilityMember(group, property, out Type type) is not { } member)
|
||||
{
|
||||
Error($"Member {memberName} does not exist in {type.FullName}");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (member is MethodInfo vMethod)
|
||||
{
|
||||
@@ -79,9 +86,8 @@ public sealed class ModdedOptionVisiblityAttribute(Type? holderType = null, stri
|
||||
}
|
||||
return i => (bool)vMethod.Invoke(group, [i])!;
|
||||
}
|
||||
// TODO: Properties and/or fields
|
||||
|
||||
Error($"Valid member {memberName} does not exist in group {type.FullName}.");
|
||||
Error($"Member {memberName} of {type.FullName} is not valid for Visible function.");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user