Applied attribute function in options manager

This commit is contained in:
David Higueros committed 2026-07-10 13:28:50 -06:00
1 parent 908ff4fa67
commit 22d45c7c64
1 file changed
+15 -1
+15 -1
View File
@@ -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);
}
}