Due to update 2.4.3, some mods may no longer function. FixedConfig may be necessary.
Decompiled source of AbilityPresets v1.0.0
AbilityPresets.dll
Decompiled 8 months agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using TMPro; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.6", FrameworkDisplayName = "")] [assembly: AssemblyCompany("AbilityPresets")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Allows the user to set ability presets that they can access instantly by pressing buttons")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("AbilityPresets")] [assembly: AssemblyTitle("AbilityPresets")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace AbilityPresets { [BepInPlugin("com.PizzaMan730.AbilityPresets", "AbilityPresets", "1.0.0")] public class Plugin : BaseUnityPlugin { private ConfigFile config; private ConfigEntry<int> Preset1_1; private ConfigEntry<int> Preset1_2; private ConfigEntry<int> Preset1_3; private ConfigEntry<int> Preset2_1; private ConfigEntry<int> Preset2_2; private ConfigEntry<int> Preset2_3; private ConfigEntry<int> Preset3_1; private ConfigEntry<int> Preset3_2; private ConfigEntry<int> Preset3_3; private ConfigEntry<int> Preset4_1; private ConfigEntry<int> Preset4_2; private ConfigEntry<int> Preset4_3; private ConfigEntry<int> Preset5_1; private ConfigEntry<int> Preset5_2; private ConfigEntry<int> Preset5_3; private ConfigEntry<int> Preset6_1; private ConfigEntry<int> Preset6_2; private ConfigEntry<int> Preset6_3; private ConfigEntry<int> Preset7_1; private ConfigEntry<int> Preset7_2; private ConfigEntry<int> Preset7_3; private ConfigEntry<int> Preset8_1; private ConfigEntry<int> Preset8_2; private ConfigEntry<int> Preset8_3; private ConfigEntry<int> Preset9_1; private ConfigEntry<int> Preset9_2; private ConfigEntry<int> Preset9_3; private ConfigEntry<int> Preset0_1; private ConfigEntry<int> Preset0_2; private ConfigEntry<int> Preset0_3; private void Awake() { //IL_0401: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Expected O, but got Unknown ((BaseUnityPlugin)this).Logger.LogInfo((object)"AbilityPresets has loaded!"); config = ((BaseUnityPlugin)this).Config; Preset1_1 = config.Bind<int>("Preset 1", "Slot 1", 0, ""); Preset1_2 = config.Bind<int>("Preset 1", "Slot 2", 0, ""); Preset1_3 = config.Bind<int>("Preset 1", "Slot 3", 0, ""); Preset2_1 = config.Bind<int>("Preset 2", "Slot 1", 0, ""); Preset2_2 = config.Bind<int>("Preset 2", "Slot 2", 0, ""); Preset2_3 = config.Bind<int>("Preset 2", "Slot 3", 0, ""); Preset3_1 = config.Bind<int>("Preset 3", "Slot 1", 0, ""); Preset3_2 = config.Bind<int>("Preset 3", "Slot 2", 0, ""); Preset3_3 = config.Bind<int>("Preset 3", "Slot 3", 0, ""); Preset4_1 = config.Bind<int>("Preset 4", "Slot 1", 0, ""); Preset4_2 = config.Bind<int>("Preset 4", "Slot 2", 0, ""); Preset4_3 = config.Bind<int>("Preset 4", "Slot 3", 0, ""); Preset5_1 = config.Bind<int>("Preset 5", "Slot 1", 0, ""); Preset5_2 = config.Bind<int>("Preset 5", "Slot 2", 0, ""); Preset5_3 = config.Bind<int>("Preset 5", "Slot 3", 0, ""); Preset6_1 = config.Bind<int>("Preset 6", "Slot 1", 0, ""); Preset6_2 = config.Bind<int>("Preset 6", "Slot 2", 0, ""); Preset6_3 = config.Bind<int>("Preset 6", "Slot 3", 0, ""); Preset7_1 = config.Bind<int>("Preset 7", "Slot 1", 0, ""); Preset7_2 = config.Bind<int>("Preset 7", "Slot 2", 0, ""); Preset7_3 = config.Bind<int>("Preset 7", "Slot 3", 0, ""); Preset8_1 = config.Bind<int>("Preset 8", "Slot 1", 0, ""); Preset8_2 = config.Bind<int>("Preset 8", "Slot 2", 0, ""); Preset8_3 = config.Bind<int>("Preset 8", "Slot 3", 0, ""); Preset9_1 = config.Bind<int>("Preset 9", "Slot 1", 0, ""); Preset9_2 = config.Bind<int>("Preset 9", "Slot 2", 0, ""); Preset9_3 = config.Bind<int>("Preset 9", "Slot 3", 0, ""); Preset0_1 = config.Bind<int>("Preset 0", "Slot 1", 0, ""); Preset0_2 = config.Bind<int>("Preset 0", "Slot 2", 0, ""); Preset0_3 = config.Bind<int>("Preset 0", "Slot 3", 0, ""); Harmony val = new Harmony("com.PizzaMan730.AbilityPresets"); } private void Update() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05ad: Expected O, but got Unknown //IL_05e2: Unknown result type (might be due to invalid IL or missing references) //IL_0606: Unknown result type (might be due to invalid IL or missing references) //IL_0634: Unknown result type (might be due to invalid IL or missing references) //IL_0639: Unknown result type (might be due to invalid IL or missing references) //IL_0677: Unknown result type (might be due to invalid IL or missing references) //IL_068b: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name == "ChSelect_online")) { activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name == "CharacterSelect")) { return; } } bool isPressed = ((ButtonControl)Keyboard.current[(Key)55]).isPressed; if (((ButtonControl)Keyboard.current[(Key)41]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset1_1, Preset1_2, Preset1_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset1_1.Value, Preset1_2.Value, Preset1_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)42]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset2_1, Preset2_2, Preset2_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset2_1.Value, Preset2_2.Value, Preset2_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)43]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset3_1, Preset3_2, Preset3_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset3_1.Value, Preset3_2.Value, Preset3_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)44]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset4_1, Preset4_2, Preset4_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset4_1.Value, Preset4_2.Value, Preset4_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)45]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset5_1, Preset5_2, Preset5_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset5_1.Value, Preset5_2.Value, Preset5_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)46]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset6_1, Preset6_2, Preset6_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset6_1.Value, Preset6_2.Value, Preset6_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)47]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset7_1, Preset7_2, Preset7_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset7_1.Value, Preset7_2.Value, Preset7_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)48]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset8_1, Preset8_2, Preset8_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset8_1.Value, Preset8_2.Value, Preset8_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)49]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset9_1, Preset9_2, Preset9_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset9_1.Value, Preset9_2.Value, Preset9_3.Value); } } if (((ButtonControl)Keyboard.current[(Key)50]).wasPressedThisFrame) { if (isPressed) { Debug.Log((object)"Saving preset"); SavePreset(Preset0_1, Preset0_2, Preset0_3); } else { Debug.Log((object)"Loading preset"); LoadPreset(Preset0_1.Value, Preset0_2.Value, Preset0_3.Value); } } if ((Object)(object)GameObject.Find("PresetText") == (Object)null) { Canvas component = GameObject.Find("Canvas").GetComponent<Canvas>(); GameObject val = new GameObject("PresetText", new Type[2] { typeof(RectTransform), typeof(TextMeshProUGUI) }); val.transform.SetParent(((Component)component).transform); TextMeshProUGUI component2 = val.GetComponent<TextMeshProUGUI>(); ((Graphic)component2).raycastTarget = false; ((TMP_Text)component2).text = "Press a number key to load that preset\nHold control while pressing to save"; ((Graphic)component2).color = Color.black; ((TMP_Text)component2).alignment = (TextAlignmentOptions)514; ((TMP_Text)component2).font = LocalizedText.localizationTable.GetFont(Settings.Get().Language, false); ((TMP_Text)component2).fontSize = 20f; RectTransform component3 = val.GetComponent<RectTransform>(); Rect rect = ((Component)component).GetComponent<RectTransform>().rect; float height = ((Rect)(ref rect)).height; float width = ((Rect)(ref rect)).width; component3.anchoredPosition = new Vector2((0f - width) / 2f + 600f, (0f - height) / 2f + 100f); component3.sizeDelta = new Vector2(width, 100f); val.SetActive(true); } } private void SavePreset(ConfigEntry<int> Preset1, ConfigEntry<int> Preset2, ConfigEntry<int> Preset3) { Transform val = GameObject.Find("Rectangle1").transform.FindChild("SELECT_COLOR"); Preset1.Value = ((Component)val.FindChild("ability_TOP")).GetComponent<SelectAbility>().SelectedIndex; Preset2.Value = ((Component)val.FindChild("ability_MID")).GetComponent<SelectAbility>().SelectedIndex; Preset3.Value = ((Component)val.FindChild("ability_BOT")).GetComponent<SelectAbility>().SelectedIndex; } private void LoadPreset(int Preset1, int Preset2, int Preset3) { Debug.Log((object)"Test"); Transform val = GameObject.Find("Rectangle1").transform.FindChild("SELECT_COLOR"); Debug.Log((object)"Test1"); ((SelectableMonoBehaviour)((Component)val.FindChild("ability_TOP")).GetComponent<SelectAbility>()).Select(Preset1); ((SelectableMonoBehaviour)((Component)val.FindChild("ability_MID")).GetComponent<SelectAbility>()).Select(Preset2); ((SelectableMonoBehaviour)((Component)val.FindChild("ability_BOT")).GetComponent<SelectAbility>()).Select(Preset3); } } public enum Abilities { random, dash, grenade, bow, engine, blink, gust, grow, rock, missile, spike, time, smoke, platform, revive, roll, shrink, blackhole, invisibility, meteor, macho, push, tesla, mine, teleport, drill, hookshot, beam } public static class PluginInfo { public const string PLUGIN_GUID = "AbilityPresets"; public const string PLUGIN_NAME = "AbilityPresets"; public const string PLUGIN_VERSION = "1.0.0"; } }