Skip to content

Commit 59fd909

Browse files
committed
Finish autodetection of enabled toggles
1 parent 803f1b8 commit 59fd909

5 files changed

Lines changed: 13 additions & 16 deletions

File tree

MonkeyLoader.GamePacks.ResoniteModLoader/ModConfigurationDefinitionBuilder.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,16 @@ internal void ProcessAttributes()
9393
.Do(ProcessField);
9494
}
9595

96-
internal bool TryGetEnabledToggle([NotNullWhen(true)] out DefiningConfigKey<bool>? enabledToggleKey, bool remove = true)
96+
internal bool TryGetEnabledToggle([NotNullWhen(true)] out DefiningConfigKey<bool>? enabledToggleKey, bool makeInternal = true)
9797
{
9898
enabledToggleKey = null;
99-
ModConfigurationKey? enabledToggle = null;
99+
ModConfigurationKey<bool>? enabledToggle = null;
100100

101101
var potentialKeys = _keys.OfType<ModConfigurationKey<bool>>().ToArray();
102102

103103
foreach (var definitiveEnabledToggle in _definitiveEnabledToggles)
104104
{
105-
if (potentialKeys.FirstOrDefault(key => key.Name.Equals(definitiveEnabledToggle, StringComparison.OrdinalIgnoreCase)) is ModConfigurationKey enabledKey)
105+
if (potentialKeys.FirstOrDefault(key => key.Name.Equals(definitiveEnabledToggle, StringComparison.OrdinalIgnoreCase)) is ModConfigurationKey<bool> enabledKey)
106106
{
107107
enabledToggle = enabledKey;
108108
break;
@@ -122,11 +122,16 @@ internal bool TryGetEnabledToggle([NotNullWhen(true)] out DefiningConfigKey<bool
122122
enabledToggle = potentialKeys[0];
123123
}
124124

125-
enabledToggleKey = (DefiningConfigKey<bool>)enabledToggle.UntypedKey;
126-
127-
if (remove)
125+
if (makeInternal && !enabledToggle.InternalAccessOnly)
126+
{
128127
_keys.Remove(enabledToggle);
129128

129+
enabledToggle = new ModConfigurationKey<bool>(enabledToggle.Name, enabledToggle.Description, () => true, true);
130+
_keys.Add(enabledToggle);
131+
}
132+
133+
enabledToggleKey = enabledToggle.Key;
134+
130135
return true;
131136
}
132137

MonkeyLoader.GamePacks.ResoniteModLoader/MonkeyLoader.GamePacks.ResoniteModLoader.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
</ItemGroup>
3535

3636
<ItemGroup>
37-
<PackageReference Include="MonkeyLoader.GamePacks.Resonite" Version="0.21.0-beta" GeneratePathProperty="true" />
37+
<PackageReference Include="MonkeyLoader.GamePacks.Resonite" Version="0.21.2-beta" GeneratePathProperty="true" />
3838
<PackageReference Include="PolySharp" Version="1.15.0">
3939
<PrivateAssets>all</PrivateAssets>
4040
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@ public abstract class ResoniteMod : ResoniteModBase
1919
{
2020
private readonly Lazy<ModConfiguration?> _configuration;
2121

22-
/// <summary>
23-
/// Gets the <see cref="MonkeyBase.Enabled">Enabled</see>-Toggle config item for this mod.
24-
/// </summary>
25-
internal DefiningConfigKey<bool>? EnabledToggle { get; private set; }
26-
2722
/// <inheritdoc/>
2823
protected override ModConfiguration? Configuration => _configuration.Value;
2924

MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteModBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public bool Enabled
5454
}
5555

5656
/// <inheritdoc/>
57-
public IDefiningConfigKey<bool>? EnabledToggle { get; }
57+
public IDefiningConfigKey<bool>? EnabledToggle { get; protected set; }
5858

5959
/// <inheritdoc/>
6060
public bool Failed { get; private set; }

MonkeyLoader.GamePacks.ResoniteModLoader/RmlMod.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ public RmlMod(MonkeyLoader.MonkeyLoader loader, string? location, bool isGamePac
8181

8282
resoniteMod.GetConfiguration();
8383

84-
if (resoniteMod.EnabledToggle is not null)
85-
MonkeyToggles.A
86-
8784
// Add dependencies after refactoring MKL
8885
//foreach (var referencedAssembly in assembly.GetReferencedAssemblies())
8986
// dependencies.Add(referencedAssembly.Name, new DependencyReference())

0 commit comments

Comments
 (0)