From e205a683306da7e3bab0e576ed0fbdc9ae606ca2 Mon Sep 17 00:00:00 2001 From: David Higueros <111460331+TheDavSmasher@users.noreply.github.com> Date: Fri, 17 Jul 2026 22:37:41 -0600 Subject: [PATCH] Created examples of utilizing option lists --- MiraAPI.Example/Options/ExampleOptions.cs | 12 ++++++++++++ MiraAPI.Example/Options/ExampleOptions2.cs | 3 +++ 2 files changed, 15 insertions(+) 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