Skip to content
This repository was archived by the owner on Apr 17, 2026. It is now read-only.

Commit 2cb50db

Browse files
committed
Reverted some types from nullable to not change the api contract. Whoops.
1 parent 1471849 commit 2cb50db

13 files changed

Lines changed: 43 additions & 25 deletions

Assets/LethalConfigManifest.asset

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ MonoBehaviour:
7070
Name: LethalConfig
7171
Description: Provides an in-game config menu for players to edit their configs,
7272
and an API for other mods to use and customize their entries.
73-
Version: 1.3.1
73+
Version: 1.3.2
7474
Dependencies:
7575
- {fileID: 11400000, guid: 93f32f19b4b23484b83d50013fee18e8, type: 2}
7676
--- !u!114 &4587465158208312100

Assets/Scripts/ConfigItems/FloatInputFieldConfigItem.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public FloatInputFieldConfigItem(ConfigEntry<float> configEntry, FloatInputField
1616
{
1717
var acceptableValues = configEntry.Description.AcceptableValues;
1818

19-
MinValue = options.Min ?? (acceptableValues as AcceptableValueRange<float>)?.MinValue ?? float.MinValue;
20-
MaxValue = options.Max ?? (acceptableValues as AcceptableValueRange<float>)?.MaxValue ?? float.MaxValue;
19+
MinValue = options.WasMinSet ? options.Min : (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? 0;
20+
MaxValue = options.WasMaxSet ? options.Max : (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? 1;
2121
}
2222

2323
internal override GameObject CreateGameObjectForConfig()

Assets/Scripts/ConfigItems/FloatSliderConfigItem.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public FloatSliderConfigItem(ConfigEntry<float> configEntry, FloatSliderOptions
1616
{
1717
var acceptableValues = configEntry.Description.AcceptableValues;
1818

19-
MinValue = options.Min ?? (acceptableValues as AcceptableValueRange<float>)?.MinValue ?? 0;
20-
MaxValue = options.Max ?? (acceptableValues as AcceptableValueRange<float>)?.MaxValue ?? 1;
19+
MinValue = options.WasMinSet ? options.Min : (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? 0;
20+
MaxValue = options.WasMaxSet ? options.Max : (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? 1;
2121
}
2222

2323
internal override GameObject CreateGameObjectForConfig()

Assets/Scripts/ConfigItems/FloatStepSliderConfigItem.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public FloatStepSliderConfigItem(ConfigEntry<float> configEntry, FloatStepSlider
1717
{
1818
var acceptableValues = configEntry.Description.AcceptableValues;
1919

20-
MinValue = options.Min ?? (acceptableValues as AcceptableValueRange<float>)?.MinValue ?? 0;
21-
MaxValue = options.Max ?? (acceptableValues as AcceptableValueRange<float>)?.MaxValue ?? 1;
20+
MinValue = options.WasMinSet ? options.Min : (acceptableValues as AcceptableValueRange<float>)?.MinValue ?? 0;
21+
MaxValue = options.WasMaxSet ? options.Max : (acceptableValues as AcceptableValueRange<float>)?.MaxValue ?? 1;
2222
Step = options.Step;
2323
}
2424

Assets/Scripts/ConfigItems/IntInputFieldConfigItem.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public IntInputFieldConfigItem(ConfigEntry<int> configEntry, IntInputFieldOption
1616
{
1717
var acceptableValues = configEntry.Description.AcceptableValues;
1818

19-
MinValue = options.Min ?? (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? int.MinValue;
20-
MaxValue = options.Max ?? (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? int.MaxValue;
19+
MinValue = options.WasMinSet ? options.Min : (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? 0;
20+
MaxValue = options.WasMaxSet ? options.Max : (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? 100;
2121
}
2222

2323
internal override GameObject CreateGameObjectForConfig()

Assets/Scripts/ConfigItems/IntSliderConfigItem.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public IntSliderConfigItem(ConfigEntry<int> configEntry, IntSliderOptions option
1717
{
1818
var acceptableValues = configEntry.Description.AcceptableValues;
1919

20-
MinValue = options.Min ?? (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? 0;
21-
MaxValue = options.Max ?? (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? 100;
20+
MinValue = options.WasMinSet ? options.Min : (acceptableValues as AcceptableValueRange<int>)?.MinValue ?? 0;
21+
MaxValue = options.WasMaxSet ? options.Max : (acceptableValues as AcceptableValueRange<int>)?.MaxValue ?? 100;
2222
}
2323

2424
internal override GameObject CreateGameObjectForConfig()

Assets/Scripts/ConfigItems/Options/BaseOptions.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ namespace LethalConfig.ConfigItems.Options
33
{
44
public class BaseOptions
55
{
6-
public static BaseOptions Default { get; } = new()
7-
{
8-
RequiresRestart = true
9-
};
10-
116
/// <summary>
127
/// Overrides the name of the item displayed in the UI.
138
/// Visual change only.

Assets/Scripts/ConfigItems/Options/FloatInputFieldOptions.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ namespace LethalConfig.ConfigItems.Options
33
{
44
public sealed class FloatInputFieldOptions: BaseOptions
55
{
6-
public float? Min { get; set; } = null;
7-
public float? Max { get; set; } = null;
6+
private float _min;
7+
internal bool WasMinSet;
8+
public float Min { get => _min; set { WasMinSet = true; _min = value; } }
9+
10+
private float _max;
11+
internal bool WasMaxSet;
12+
public float Max { get => _max; set { WasMaxSet = true; _max = value; } }
813
}
914
}

Assets/Scripts/ConfigItems/Options/FloatSliderOptions.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ namespace LethalConfig.ConfigItems.Options
33
{
44
public class FloatSliderOptions: BaseOptions
55
{
6-
public float? Min { get; set; } = null;
7-
public float? Max { get; set; } = null;
6+
private float _min;
7+
internal bool WasMinSet;
8+
public float Min { get => _min; set { WasMinSet = true; _min = value; } }
9+
10+
private float _max;
11+
internal bool WasMaxSet;
12+
public float Max { get => _max; set { WasMaxSet = true; _max = value; } }
813
}
914
}

Assets/Scripts/ConfigItems/Options/IntInputFieldOptions.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ namespace LethalConfig.ConfigItems.Options
33
{
44
public sealed class IntInputFieldOptions: BaseOptions
55
{
6-
public int? Min { get; set; } = null;
7-
public int? Max { get; set; } = null;
6+
private int _min;
7+
internal bool WasMinSet;
8+
public int Min { get => _min; set { WasMinSet = true; _min = value; } }
9+
10+
private int _max;
11+
internal bool WasMaxSet;
12+
public int Max { get => _max; set { WasMaxSet = true; _max = value; } }
813
}
914
}

0 commit comments

Comments
 (0)