diff --git a/MiraAPI/MiraAPI.csproj b/MiraAPI/MiraAPI.csproj
index c2c0897..b3ce2ed 100644
--- a/MiraAPI/MiraAPI.csproj
+++ b/MiraAPI/MiraAPI.csproj
@@ -14,6 +14,16 @@
Steam
2024.3.5
+
+
+
+
+
+
+
+
+
+
diff --git a/MiraAPI/Patches/Options/GameSettingMenuPatches.cs b/MiraAPI/Patches/Options/GameSettingMenuPatches.cs
index 4837dd4..93f0c42 100644
--- a/MiraAPI/Patches/Options/GameSettingMenuPatches.cs
+++ b/MiraAPI/Patches/Options/GameSettingMenuPatches.cs
@@ -1,11 +1,9 @@
using HarmonyLib;
-using MiraAPI.GameOptions;
-using Reactor.Utilities;
+using MiraAPI.Utilities.Assets;
using Reactor.Utilities.Extensions;
-using System.Collections.Generic;
-using System.Linq;
-using MiraAPI.GameOptions.UI;
+using TMPro;
using UnityEngine;
+using UnityEngine.Events;
namespace MiraAPI.Patches.Options;
@@ -13,11 +11,47 @@ namespace MiraAPI.Patches.Options;
public static class GameSettingMenuPatches
{
+ public static int currentSelectedMod = 0;
+
[HarmonyPrefix]
[HarmonyPatch(nameof(GameSettingMenu.Start))]
public static void StartPrefix(GameSettingMenu __instance)
{
- __instance.MenuDescriptionText.transform.parent.gameObject.SetActive(false);
+ Transform helpThing = __instance.transform.FindChild("What Is This?");
+ GameObject tmpText = GameObject.Instantiate(helpThing.transform.FindChild("InfoText"), helpThing.parent).gameObject;
+
+ tmpText.GetComponent().Destroy();
+ tmpText.name = "SelectedMod";
+ tmpText.transform.localPosition = new Vector3(-3.3382f, -0.4019f, -2f);
+
+ TextMeshPro tmp = tmpText.GetComponent();
+ tmp.text = "Mira API";
+ tmp.fontSizeMax = 3;
+ tmp.fontSize = 3;
+
+ tmp.alignment = TextAlignmentOptions.Center;
+
+ GameObject nextButton = GameObject.Instantiate(__instance.BackButton, __instance.BackButton.transform.parent).gameObject;
+ nextButton.transform.localPosition = new Vector3(-2.2663f, -0.4037f, -25f);
+ nextButton.name = "NextButton";
+ nextButton.transform.FindChild("Inactive").gameObject.GetComponent().sprite = MiraAssets.NextButton.LoadAsset();
+ nextButton.transform.FindChild("Active").gameObject.GetComponent().sprite = MiraAssets.NextButtonActive.LoadAsset();
+ nextButton.gameObject.GetComponent().OnClick.AddListener((UnityAction)(() =>
+ {
+ currentSelectedMod += 1;
+ }));
+
+ GameObject backButton = GameObject.Instantiate(nextButton, __instance.BackButton.transform.parent).gameObject;
+ nextButton.transform.localPosition = new Vector3(-4.4209f, -0.4037f, -25f);
+ nextButton.name = "BackButton";
+ nextButton.transform.FindChild("Active").gameObject.GetComponent().flipX = nextButton.transform.FindChild("Inactive").gameObject.GetComponent().flipX = true;
+ backButton.gameObject.GetComponent().OnClick.RemoveAllListeners();
+ backButton.gameObject.GetComponent().OnClick.AddListener((UnityAction)(() =>
+ {
+ currentSelectedMod -= 1;
+ }));
+
+ __instance.GamePresetsButton.gameObject.SetActive(false);
}
/*public static void CreateOptionsFor(GameSettingMenu __instance, ToggleOption togglePrefab, NumberOption numberPrefab, StringOption stringPrefab, Transform container,
diff --git a/MiraAPI/Resources/Menu_Button.png b/MiraAPI/Resources/Menu_Button.png
deleted file mode 100644
index f8d1566..0000000
Binary files a/MiraAPI/Resources/Menu_Button.png and /dev/null differ
diff --git a/MiraAPI/Resources/NextButton.png b/MiraAPI/Resources/NextButton.png
new file mode 100644
index 0000000..0eea8ea
Binary files /dev/null and b/MiraAPI/Resources/NextButton.png differ
diff --git a/MiraAPI/Resources/NextButtonActive.png b/MiraAPI/Resources/NextButtonActive.png
new file mode 100644
index 0000000..62ac434
Binary files /dev/null and b/MiraAPI/Resources/NextButtonActive.png differ
diff --git a/MiraAPI/Utilities/Assets/MiraAssets.cs b/MiraAPI/Utilities/Assets/MiraAssets.cs
index 5957b9d..3a49328 100644
--- a/MiraAPI/Utilities/Assets/MiraAssets.cs
+++ b/MiraAPI/Utilities/Assets/MiraAssets.cs
@@ -3,5 +3,8 @@
public static class MiraAssets
{
public static readonly LoadableResourceAsset Empty = new("", "");
+
+ public static readonly LoadableResourceAsset NextButton = new("NextButton.png", "MiraAPI.Resources.");
+ public static readonly LoadableResourceAsset NextButtonActive = new("NextButtonActive.png", "MiraAPI.Resources.");
}
}