diff --git a/MiraAPI/GameModes/.editorconfig b/MiraAPI/GameModes/.editorconfig
new file mode 100644
index 0000000..948715b
--- /dev/null
+++ b/MiraAPI/GameModes/.editorconfig
@@ -0,0 +1,2 @@
+[*.cs]
+dotnet_diagnostic.CS1591.severity = none
\ No newline at end of file
diff --git a/MiraAPI/GameOptions/ModdedOptionsManager.cs b/MiraAPI/GameOptions/ModdedOptionsManager.cs
index ef5284e..94c1659 100644
--- a/MiraAPI/GameOptions/ModdedOptionsManager.cs
+++ b/MiraAPI/GameOptions/ModdedOptionsManager.cs
@@ -175,7 +175,6 @@ public static class ModdedOptionsManager
///
/// The original setter method.
/// The new object value.
- // ReSharper disable InconsistentNaming
public static void PropertySetterPatch(MethodBase __originalMethod, object value)
{
var attribute = OptionAttributes.First(pair => pair.Key.GetSetMethod() == __originalMethod).Value;
@@ -189,7 +188,6 @@ public static class ModdedOptionsManager
/// The result of the property getter.
/// False so the original getter gets skipped.
public static bool PropertyGetterPatch(MethodBase __originalMethod, ref object __result)
- // ReSharper restore InconsistentNaming
{
var attribute = OptionAttributes.First(pair => pair.Key.GetGetMethod() == __originalMethod).Value;
__result = attribute.GetValue();
diff --git a/MiraAPI/Patches/GameModes/.editorconfig b/MiraAPI/Patches/GameModes/.editorconfig
new file mode 100644
index 0000000..d825cc9
--- /dev/null
+++ b/MiraAPI/Patches/GameModes/.editorconfig
@@ -0,0 +1,2 @@
+[*.cs]
+dotnet_diagnostic.S125.severity = none
\ No newline at end of file
diff --git a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs
index c64cf9a..2a89988 100644
--- a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs
+++ b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs
@@ -143,7 +143,7 @@ public static class LobbyViewPanePatches
}
var filteredGroups = SelectedMod.InternalOptionGroups
- .Where(x => x.OptionableType == null && x.GroupVisible.Invoke());
+ .Where(x => x is { ShowInModifiersMenu: false, OptionableType: null } && x.GroupVisible.Invoke());
DrawOptions(__instance, filteredGroups);
return false;
}
diff --git a/MiraAPI/PluginLoading/IMiraPlugin.cs b/MiraAPI/PluginLoading/IMiraPlugin.cs
index 07928da..af3d3d5 100644
--- a/MiraAPI/PluginLoading/IMiraPlugin.cs
+++ b/MiraAPI/PluginLoading/IMiraPlugin.cs
@@ -2,8 +2,19 @@
namespace MiraAPI.PluginLoading;
+///
+/// The interface that all Mira plugins must implement.
+///
public interface IMiraPlugin
{
+ ///
+ /// Gets the name to display on the options menu.
+ ///
string OptionsTitleText { get; }
+
+ ///
+ /// Gets the BepInEx configuration file for the plugin.
+ ///
+ /// The BepInEx configuration file for the plugin.
public ConfigFile GetConfigFile();
}
diff --git a/MiraAPI/PluginLoading/MiraPluginManager.cs b/MiraAPI/PluginLoading/MiraPluginManager.cs
index 81ad817..0512b20 100644
--- a/MiraAPI/PluginLoading/MiraPluginManager.cs
+++ b/MiraAPI/PluginLoading/MiraPluginManager.cs
@@ -209,7 +209,7 @@ public sealed class MiraPluginManager
ModdedOptionsManager.RegisterAttributeOption(type, attribute, property, pluginInfo);
}
- foreach (var field in type.GetFields().Where(f=>f.FieldType.IsAssignableTo(typeof(IModdedOption))))
+ foreach (var field in type.GetFields().Where(f => f.FieldType.IsAssignableTo(typeof(IModdedOption))))
{
Logger.Error($"{field.Name} is a field, not a property. Use properties for options.");
}
@@ -280,7 +280,7 @@ public sealed class MiraPluginManager
PaletteManager.CustomColors.Add(color);
}
- foreach (var field in type.GetFields().Where(f=>f.FieldType.IsAssignableTo(typeof(CustomColor))))
+ foreach (var field in type.GetFields().Where(f => f.FieldType.IsAssignableTo(typeof(CustomColor))))
{
Logger.Error($"{field.Name} is a field, not a property. Use properties for colors.");
}