mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-19 15:51:48 +00:00
Applied attribute function in options manager
This commit is contained in:
1 parent
908ff4fa67
commit
22d45c7c64
1 file changed
+15
-1
@@ -111,6 +111,13 @@ public static class ModdedOptionsManager
|
||||
OptionAttributes.Add(property, attribute);
|
||||
attribute.HolderOption = option;
|
||||
|
||||
var visibilityAttr = property.GetCustomAttribute<ModdedOptionVisiblityAttribute>();
|
||||
var visibilityFunc = visibilityAttr?.GetVisibility(group, property);
|
||||
if (visibilityFunc != null)
|
||||
{
|
||||
option.Visible = visibilityFunc;
|
||||
}
|
||||
|
||||
RegisterOption(option, group, property.Name, pluginInfo);
|
||||
}
|
||||
|
||||
@@ -196,9 +203,16 @@ public static class ModdedOptionsManager
|
||||
attribute.HolderOptionList = optionList;
|
||||
attribute.Value = propertyVal;
|
||||
|
||||
var visibilityAttr = property.GetCustomAttribute<ModdedOptionVisiblityAttribute>();
|
||||
var visibilityFunc = visibilityAttr?.GetListVisibility(group, property);
|
||||
for (int i = 0; i < optionList.Count; i++)
|
||||
{
|
||||
RegisterOption(optionList[i], group, property.Name + i, pluginInfo);
|
||||
var option = optionList[i];
|
||||
if (visibilityFunc != null)
|
||||
{
|
||||
option.Visible = () => visibilityFunc(i);
|
||||
}
|
||||
RegisterOption(option, group, property.Name + i, pluginInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user