diff --git a/MiraAPI.Example/Options/ExampleOptions.cs b/MiraAPI.Example/Options/ExampleOptions.cs index 53bc9eb..3663cad 100644 --- a/MiraAPI.Example/Options/ExampleOptions.cs +++ b/MiraAPI.Example/Options/ExampleOptions.cs @@ -1,6 +1,7 @@ using MiraAPI.GameOptions; using MiraAPI.GameOptions.Attributes; using MiraAPI.Utilities; +using System.Collections.Generic; using UnityEngine; namespace MiraAPI.Example.Options; @@ -21,6 +22,10 @@ public class ExampleOptions : AbstractOptionGroup [ModdedEnumOption("Best API", typeof(BestApi), ["Mira API", "Mitochondria", "Reactor"])] public BestApi Opt { get; set; } = BestApi.MiraAPI; + + [ModdedEnumOptionList("Value State {0}", ["None", "Primary", "Secondary"])] + public List ValueStates { get; } = + [ValueState.Primary, ValueState.Secondary, ValueState.None, ValueState.None, ValueState.None]; } public enum BestApi @@ -29,3 +34,10 @@ public enum BestApi Mitochondria, Reactor, } + +public enum ValueState +{ + None, + Primary, + Secondary, +} diff --git a/MiraAPI.Example/Options/ExampleOptions2.cs b/MiraAPI.Example/Options/ExampleOptions2.cs index bc3c910..59de0c6 100644 --- a/MiraAPI.Example/Options/ExampleOptions2.cs +++ b/MiraAPI.Example/Options/ExampleOptions2.cs @@ -14,6 +14,9 @@ public class ExampleOptions2 : AbstractOptionGroup public ModdedPlayerOption PlayerOption { get; } = new("Eh whatever"); public ModdedToggleOption ToggleOpt1 { get; } = new("Toggle Option 1", false); + public ModdedOptionList PlayerNums { get; } = new(5, i => + new($"PlayerNum{i}", 2, 0, 5, 1, Utilities.MiraNumberSuffixes.None)); + public ModdedToggleOption ToggleOpt2 { get; } = new("Toggle Option 2", false) { Visible = () => OptionGroupSingleton.Instance.ToggleOpt1, // implicit cast from ModdedToggleOption to bool