RUMBLE does not support other mod managers. If you want to use a manager, you must use the RUMBLE Mod Manager, a manager specifically designed for this game.
Decompiled source of RumbleModdingAPI v5.1.1
Mods/RumbleModdingAPI.dll
Decompiled 12 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using HarmonyLib; using Il2CppExitGames.Client.Photon; using Il2CppInterop.Runtime.InteropTypes; using Il2CppInterop.Runtime.InteropTypes.Arrays; using Il2CppPhoton.Pun; using Il2CppPhoton.Realtime; using Il2CppRUMBLE.Audio; using Il2CppRUMBLE.Environment.Matchmaking; using Il2CppRUMBLE.Interactions.InteractionBase; using Il2CppRUMBLE.Managers; using Il2CppRUMBLE.Players; using Il2CppRUMBLE.Players.Subsystems; using Il2CppRUMBLE.Pools; using Il2CppRUMBLE.Utilities; using Il2CppSystem; using Il2CppSystem.Collections.Generic; using Il2CppSystem.IO; using Il2CppSystem.Reflection; using Il2CppTMPro; using MelonLoader; using RumbleModdingAPI; using RumbleModdingAPI.RMAPI; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(global::RumbleModdingAPI.RumbleModdingAPI), "RumbleModdingAPI", "5.1.1", "UlvakSkillz", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 195, 0, 255)] [assembly: MelonAuthorColor(255, 195, 0, 255)] [assembly: VerifyLoaderVersion(0, 7, 2, true)] [assembly: AssemblyDescription("")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("1ae819fd-d86a-44b0-bc6b-aee140e7ca82")] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("RumbleModdingAPI")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+049688b95e54526eae962ff1cb5e1004aca06eb6")] [assembly: AssemblyProduct("RumbleModdingAPI")] [assembly: AssemblyTitle("RumbleModdingAPI")] [assembly: AssemblyVersion("1.0.0.0")] namespace RumbleModdingAPI { public static class ModBuildInfo { public const string Version = "5.1.1"; } public class ModInfo { public string ModName; public string ModVersion; public ModInfo(string name, string version) { ModName = name; ModVersion = version; } } public class RumbleModdingAPI : MelonMod { [HarmonyPatch(typeof(MatchmakeConsole), "MatchmakeStatusUpdated", new Type[] { typeof(MatchmakeStatus) })] public static class MatchmakingType { private static void Prefix(GameObject __instance, MatchmakeStatus status) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Invalid comparison between Unknown and I4 if ((int)status == 9) { matchmakingType = ((InteractionNumericalBase)GameObjects.Gym.INTERACTABLES.MatchConsole.MatchmakingSettings.InteractionSliderHorizontalGrip.Sliderhandle.GetGameObject().GetComponent<InteractionSlider>()).snappedStep; } } } [HarmonyPatch(typeof(PlayerController), "Initialize", new Type[] { typeof(Player) })] public static class PlayerSpawn { private static void Postfix(ref PlayerController __instance, ref Player player) { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Invalid comparison between Unknown and I4 if (player.Data.GeneralData.PlayFabMasterId == "5832566FD2375E31" && Singleton<PlayerManager>.instance.localPlayer != player) { MelonCoroutines.Start(WaitForTitleLoad(player)); } if ((int)__instance.controllerType == 1) { MelonCoroutines.Start(AddModsToLocalProps()); } Actions.TriggerOnPlayerSpawned(player); } } [HarmonyPatch(typeof(PlayerNameTag), "FadePlayerNameTag", new Type[] { typeof(bool) })] public static class UpdatePlayerTitleText { private static void Postfix(ref PlayerNameTag __instance, ref bool on) { if (on) { MelonCoroutines.Start(UpdateTitle(__instance)); } } } [HarmonyPatch(typeof(PlayerNameTag), "UpdatePlayerTitleText", new Type[] { })] public static class UpdatePlayerBPText { private static void Postfix(ref PlayerNameTag __instance) { MelonCoroutines.Start(UpdateTitle(__instance)); } } [CompilerGenerated] private sealed class <AddModsToLocalProps>d__40 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private string <sceneName>5__1; private Player <local>5__2; private Hashtable <table>5__3; private IEnumerator<MelonMod> <>s__4; private MelonMod <mod>5__5; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <AddModsToLocalProps>d__40(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <sceneName>5__1 = null; <local>5__2 = null; <table>5__3 = null; <>s__4 = null; <mod>5__5 = null; <>1__state = -2; } private bool MoveNext() { //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <sceneName>5__1 = Calls.Scene.GetSceneName(); if (<sceneName>5__1 == "Gym" || <sceneName>5__1 == "Loader") { return false; } <local>5__2 = null; break; case 1: <>1__state = -1; break; } while (<local>5__2 == null) { try { <local>5__2 = ((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).gameObject.GetComponent<PhotonView>().Owner; } catch { } if (<local>5__2 == null) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; } } <table>5__3 = new Hashtable(); <>s__4 = MelonTypeBase<MelonMod>.RegisteredMelons.GetEnumerator(); try { while (<>s__4.MoveNext()) { <mod>5__5 = <>s__4.Current; <table>5__3[Object.op_Implicit(((MelonBase)<mod>5__5).Info.Name)] = Object.op_Implicit(((MelonBase)<mod>5__5).Info.Version); <mod>5__5 = null; } } finally { if (<>s__4 != null) { <>s__4.Dispose(); } } <>s__4 = null; <local>5__2.SetCustomProperties(<table>5__3, (Hashtable)null, (WebFlags)null); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <UpdateTitle>d__52 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public PlayerNameTag __instance; private TMP_Text <titleTextMeshPro>5__1; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <UpdateTitle>d__52(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <titleTextMeshPro>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; case 1: <>1__state = -1; try { if (((Component)((Component)__instance).transform.parent).GetComponent<PlayerController>().AssignedPlayer.Data.GeneralData.PlayFabMasterId == "5832566FD2375E31") { <titleTextMeshPro>5__1 = __instance.playerTitleText; <titleTextMeshPro>5__1.text = "GrassBender"; <titleTextMeshPro>5__1 = null; } } catch { } return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <WaitATickThemTriggerOnMyModsGathered>d__39 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public RumbleModdingAPI <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitATickThemTriggerOnMyModsGathered>d__39(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; case 1: <>1__state = -1; Actions.TriggerOnMyModsGathered(); return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <WaitForTitleLoad>d__53 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public Player player; private PlayerNameTag <playerNameTag>5__1; private bool <worked>5__2; private TMP_Text <titleTextMeshPro>5__3; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitForTitleLoad>d__53(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <playerNameTag>5__1 = null; <titleTextMeshPro>5__3 = null; <>1__state = -2; } private bool MoveNext() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown int num = <>1__state; if (num != 0) { if (num != 1) { return false; } <>1__state = -1; } else { <>1__state = -1; <playerNameTag>5__1 = ((Component)((Component)player.Controller).transform.GetChild(9)).GetComponent<PlayerNameTag>(); <worked>5__2 = true; <titleTextMeshPro>5__3 = null; try { <titleTextMeshPro>5__3 = <playerNameTag>5__1.playerTitleText; } catch { <worked>5__2 = false; } if (!<worked>5__2) { goto IL_00c6; } } if (<titleTextMeshPro>5__3.text == "Player Title") { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; } <titleTextMeshPro>5__3.text = "GrassBender"; goto IL_00c6; IL_00c6: return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private static readonly bool debug = false; public static MelonMod instance; internal static byte myEventCode = 15; internal static RaiseEventOptions eventOptions = new RaiseEventOptions { Receivers = (ReceiverGroup)0, CachingOption = (EventCaching)4 }; internal static bool EventSent = false; internal static List<ModInfo> myMods = new List<ModInfo>(); internal static string myModString; internal static List<ModInfo> opponentMods = new List<ModInfo>(); internal static string opponentModString; internal static string currentScene = ""; internal static string lastScene = ""; internal static bool init = false; internal static bool mapInit = false; internal static GameObject[] allBaseDDOLGameObjects = (GameObject[])(object)new GameObject[4]; internal static GameObject[] allBaseGymGameObjects = (GameObject[])(object)new GameObject[8]; internal static GameObject[] allBaseParkGameObjects = (GameObject[])(object)new GameObject[7]; internal static GameObject[] allBaseMap0GameObjects = (GameObject[])(object)new GameObject[3]; internal static GameObject[] allBaseMap1GameObjects = (GameObject[])(object)new GameObject[4]; internal static GameObject parentAPIItems; private static readonly InputActionMap map = new InputActionMap("InputMap"); internal static InputAction rightTrigger = InputActionSetupExtensions.AddAction(map, "Right Trigger", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction rightPrimary = InputActionSetupExtensions.AddAction(map, "Right Primary", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction rightSecondary = InputActionSetupExtensions.AddAction(map, "Right Secondary", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction rightGrip = InputActionSetupExtensions.AddAction(map, "Right Grip", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction rightJoystick = InputActionSetupExtensions.AddAction(map, "Right Joystick", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction rightJoystickClick = InputActionSetupExtensions.AddAction(map, "Right Joystick Click", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftTrigger = InputActionSetupExtensions.AddAction(map, "Left Trigger", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftPrimary = InputActionSetupExtensions.AddAction(map, "Left Primary", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftSecondary = InputActionSetupExtensions.AddAction(map, "Left Secondary", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftGrip = InputActionSetupExtensions.AddAction(map, "Left Grip", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftJoystick = InputActionSetupExtensions.AddAction(map, "Left Joystick", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static InputAction leftJoystickClick = InputActionSetupExtensions.AddAction(map, "Left Joystick Click", (InputActionType)0, (string)null, (string)null, (string)null, (string)null, (string)null); internal static int matchmakingType = 0; internal GameObject RMLManager; internal static void Log(string msg, bool useDebug = false) { if (!useDebug || debug) { Melon<RumbleModdingAPI>.Logger.Msg(msg); } } internal static void Error(Exception e) { Melon<RumbleModdingAPI>.Logger.Error("Error: " + e); } public override void OnLateInitializeMelon() { //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Expected O, but got Unknown instance = (MelonMod)(object)this; InputActionSetupExtensions.AddBinding(rightTrigger, "<XRController>{RightHand}/trigger", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(rightPrimary, "<XRController>{RightHand}/primaryButton", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(rightSecondary, "<XRController>{RightHand}/secondaryButton", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(rightGrip, "<XRController>{RightHand}/Grip", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(rightJoystick, "<XRController>{RightHand}/primary2DAxis", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(rightJoystickClick, "<XRController>{RightHand}/joystickClicked", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftTrigger, "<XRController>{LeftHand}/trigger", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftPrimary, "<XRController>{LeftHand}/primaryButton", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftSecondary, "<XRController>{LeftHand}/secondaryButton", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftGrip, "<XRController>{LeftHand}/Grip", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftJoystick, "<XRController>{LeftHand}/primary2DAxis", (string)null, (string)null, (string)null); InputActionSetupExtensions.AddBinding(leftJoystickClick, "<XRController>{LeftHand}/joystickClicked", (string)null, (string)null, (string)null); map.Enable(); CreateMyModString(); PhotonRPCs.PhotonRpcInjector.Initialize(); RMLManager = new GameObject("Manager component holder (Rumble Modding Library)"); RMLManager.AddComponent<Utilities.RaiseEventManager>(); RMLManager.AddComponent<Utilities.ControllerInputManager>(); RMLManager.AddComponent<Utilities.DoNotDisable>(); Object.DontDestroyOnLoad((Object)(object)RMLManager); } private static void CreateMyModString() { myModString = ""; for (int i = 0; i < MelonBase.RegisteredMelons.Count; i++) { ModInfo modInfo = new ModInfo(MelonBase.RegisteredMelons[i].Info.Name, MelonBase.RegisteredMelons[i].Info.Version); myMods.Add(modInfo); if (i > 0) { myModString += "|"; } myModString = myModString + modInfo.ModName + "|" + modInfo.ModVersion; } } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { lastScene = currentScene; currentScene = sceneName; mapInit = false; EventSent = false; Actions.sceneCount++; try { if (currentScene == "Loader") { if (!init) { GrabBaseDDOLObjects(); init = true; Log("API Initialized"); Log("API By UlvakSkillz. Consider Donating to Their KoFi: https://ko-fi.com/ulvakskillz"); MelonCoroutines.Start(WaitATickThemTriggerOnMyModsGathered()); } } else if (currentScene == "Gym" && !mapInit) { GrabBaseGymObjects(); LoadBalancingClient networkingClient = PhotonNetwork.NetworkingClient; networkingClient.EventReceived += Action<EventData>.op_Implicit((Action<EventData>)OnEvent); Create.SetupAPIItems(); mapInit = true; } else if (currentScene == "Park" && !mapInit) { GrabBaseParkObjects(); mapInit = true; } else if (currentScene == "Map0" && !mapInit) { GrabBaseMap0Objects(); mapInit = true; } else if (currentScene == "Map1" && !mapInit) { GrabBaseMap1Objects(); mapInit = true; } if (mapInit) { MelonCoroutines.Start(Actions.StartActionWatcher()); } } catch (Exception e) { Error(e); } } [IteratorStateMachine(typeof(<WaitATickThemTriggerOnMyModsGathered>d__39))] private IEnumerator WaitATickThemTriggerOnMyModsGathered() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitATickThemTriggerOnMyModsGathered>d__39(0) { <>4__this = this }; } [IteratorStateMachine(typeof(<AddModsToLocalProps>d__40))] private static IEnumerator AddModsToLocalProps() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <AddModsToLocalProps>d__40(0); } private static void GrabBaseDDOLObjects() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) List<string> list = new List<string> { "LanguageManager", "PhotonMono", "Game Instance", "Timer Updater" }; Scene scene = ((Component)Singleton<PlayerManager>.instance).gameObject.scene; Il2CppReferenceArray<GameObject> rootGameObjects = ((Scene)(ref scene)).GetRootGameObjects(); allBaseDDOLGameObjects = (GameObject[])(object)new GameObject[4]; foreach (GameObject item in (Il2CppArrayBase<GameObject>)(object)rootGameObjects) { int num = list.IndexOf(((Object)item).name); if (num >= 0) { allBaseDDOLGameObjects[num] = item; } } GameObject[] array = allBaseDDOLGameObjects; foreach (GameObject val in array) { if ((Object)(object)val == (Object)null) { Log("null", useDebug: true); } else { Log("Stored: " + ((Object)val).name, useDebug: true); } } } private static void GrabBaseGymObjects() { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) List<string> list = new List<string> { "!ftraceLightmaps", "ProbeVolumePerSceneData", "SCENE VFX/SFX", "SCENE", "INTERACTABLES", "TUTORIAL", "LIGHTING", "LOGIC" }; Scene activeScene = SceneManager.GetActiveScene(); Il2CppReferenceArray<GameObject> rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); allBaseGymGameObjects = (GameObject[])(object)new GameObject[8]; foreach (GameObject item in (Il2CppArrayBase<GameObject>)(object)rootGameObjects) { if (list.Contains(((Object)item).name)) { int num = list.IndexOf(((Object)item).name); if (num >= 0) { allBaseGymGameObjects[num] = item; } } } GameObject[] array = allBaseGymGameObjects; foreach (GameObject val in array) { if ((Object)(object)val == (Object)null) { Log("Stored: null", useDebug: true); } else { Log("Stored: " + ((Object)val).name, useDebug: true); } } } private static void GrabBaseParkObjects() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) List<string> list = new List<string> { "LOGIC", "!ftraceLightmaps", "ProbeVolumePerSceneData", "INTERACTABLES", "LIGHTING", "SCENE VFX/SFX", "SCENE" }; Scene activeScene = SceneManager.GetActiveScene(); Il2CppReferenceArray<GameObject> rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); allBaseParkGameObjects = (GameObject[])(object)new GameObject[7]; foreach (GameObject item in (Il2CppArrayBase<GameObject>)(object)rootGameObjects) { if (list.Contains(((Object)item).name)) { int num = list.IndexOf(((Object)item).name); if (num >= 0) { allBaseParkGameObjects[num] = item; } } } GameObject[] array = allBaseParkGameObjects; foreach (GameObject val in array) { if ((Object)(object)val == (Object)null) { Log("Stored: null", useDebug: true); } else { Log("Stored: " + ((Object)val).name, useDebug: true); } } } private static void GrabBaseMap0Objects() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) List<string> list = new List<string> { "Logic", "Lighting & Effects", "Scene" }; Scene activeScene = SceneManager.GetActiveScene(); Il2CppReferenceArray<GameObject> rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); allBaseMap0GameObjects = (GameObject[])(object)new GameObject[3]; foreach (GameObject item in (Il2CppArrayBase<GameObject>)(object)rootGameObjects) { if (list.Contains(((Object)item).name)) { int num = list.IndexOf(((Object)item).name); if (num >= 0) { allBaseMap0GameObjects[num] = item; } } } GameObject[] array = allBaseMap0GameObjects; foreach (GameObject val in array) { if ((Object)(object)val == (Object)null) { Log("Stored: null", useDebug: true); } else { Log("Stored: " + ((Object)val).name, useDebug: true); } } } private static void GrabBaseMap1Objects() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) List<string> list = new List<string> { "Lighting & Effects", "Logic", "Scene" }; Scene activeScene = SceneManager.GetActiveScene(); Il2CppReferenceArray<GameObject> rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); allBaseMap1GameObjects = (GameObject[])(object)new GameObject[3]; foreach (GameObject item in (Il2CppArrayBase<GameObject>)(object)rootGameObjects) { if (list.Contains(((Object)item).name)) { int num = list.IndexOf(((Object)item).name); if (num >= 0) { allBaseMap1GameObjects[num] = item; } } } GameObject[] array = allBaseMap1GameObjects; foreach (GameObject val in array) { if ((Object)(object)val == (Object)null) { Log("Stored: null", useDebug: true); } else { Log("Stored: " + ((Object)val).name, useDebug: true); } } } internal static void GetMods() { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!EventSent && !PhotonNetwork.IsMasterClient && (currentScene == "Map0" || currentScene == "Map1")) { EventSent = true; PhotonNetwork.RaiseEvent(myEventCode, Object.op_Implicit(myModString), eventOptions, SendOptions.SendReliable); } } public void OnEvent(EventData eventData) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) if (eventData.Code == myEventCode) { if (PhotonNetwork.IsMasterClient) { PhotonNetwork.RaiseEvent(myEventCode, Object.op_Implicit(myModString), eventOptions, SendOptions.SendReliable); } opponentMods.Clear(); string text = (opponentModString = eventData.CustomData.ToString()); string[] array = text.Split('|'); for (int i = 0; i < array.Length; i += 2) { ModInfo item = new ModInfo(array[i], array[i + 1]); opponentMods.Add(item); } Log("Player: " + Singleton<PlayerManager>.instance.AllPlayers[1].Data.GeneralData.PublicUsername + " / " + Singleton<PlayerManager>.instance.AllPlayers[1].Data.GeneralData.PlayFabMasterId); Log("Mods: " + text); Actions.TriggerOnModStringRecieved(); } } [IteratorStateMachine(typeof(<UpdateTitle>d__52))] private static IEnumerator UpdateTitle(PlayerNameTag __instance) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <UpdateTitle>d__52(0) { __instance = __instance }; } [IteratorStateMachine(typeof(<WaitForTitleLoad>d__53))] private static IEnumerator WaitForTitleLoad(Player player) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitForTitleLoad>d__53(0) { player = player }; } } } namespace RumbleModdingAPI.RMAPI { public class Actions { [CompilerGenerated] private sealed class <HealthWatcher>d__46 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public int sceneNumber; private int <i>5__1; private int <i>5__2; private int <i>5__3; private Exception <e>5__4; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <HealthWatcher>d__46(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <e>5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; RumbleModdingAPI.Log("HealthWatcher Started", useDebug: true); <>2__current = (object)new WaitForSeconds(3.2f); <>1__state = 1; return true; case 1: <>1__state = -1; RumbleModdingAPI.Log("HealthWatcher Waited 3.2 Seconds", useDebug: true); playerCount = Singleton<PlayerManager>.instance.AllPlayers.Count; healths = new int[playerCount]; <i>5__1 = 0; while (<i>5__1 < playerCount) { healths[<i>5__1] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__1].Data.HealthPoints; <i>5__1++; } waitForMatchStart = false; break; case 2: <>1__state = -1; break; } if (sceneNumber == sceneCount) { if (waitForMatchStart) { goto IL_0422; } try { if (playerCount == Singleton<PlayerManager>.instance.AllPlayers.Count) { goto IL_0214; } playerCount = Singleton<PlayerManager>.instance.AllPlayers.Count; if (!matchStarted || playerCount != 1 || (!(RumbleModdingAPI.currentScene == "Map0") && !(RumbleModdingAPI.currentScene == "Map1"))) { healths = new int[playerCount]; <i>5__2 = 0; while (<i>5__2 < playerCount) { healths[<i>5__2] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__2].Data.HealthPoints; <i>5__2++; } goto IL_0214; } RumbleModdingAPI.Log("Ending Match due to 1 Player", useDebug: true); RumbleModdingAPI.Log("onRoundEnded Running", useDebug: true); TriggerOnRoundEnded(); RumbleModdingAPI.Log("onMatchEnded Running", useDebug: true); TriggerOnMatchEnded(); matchStarted = false; goto end_IL_00fc; IL_0214: <i>5__3 = 0; while (<i>5__3 < playerCount) { if (healths[<i>5__3] != Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints) { RumbleModdingAPI.Log("onPlayerHealthChanged Running (" + Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.GeneralData.PublicUsername + ", " + (Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints - healths[<i>5__3]) + ")", useDebug: true); TriggerOnPlayerHealthChanged(Singleton<PlayerManager>.instance.AllPlayers[<i>5__3], healths[<i>5__3] - Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints); healths[<i>5__3] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__3].Data.HealthPoints; if ((RumbleModdingAPI.currentScene == "Map0" || RumbleModdingAPI.currentScene == "Map1") && healths[<i>5__3] <= 0 && !waitForMatchStart) { if (Singleton<PlayerManager>.instance.AllPlayers.Count > 1) { RumbleModdingAPI.Log("onRoundEnded Running (HP hit 0)", useDebug: true); TriggerOnRoundEnded(); } MelonCoroutines.Start((IEnumerator)WaitForRoundStart(<i>5__3, sceneNumber)); } } <i>5__3++; } goto IL_0422; end_IL_00fc:; } catch (Exception ex) { <e>5__4 = ex; RumbleModdingAPI.Error(<e>5__4); goto IL_0422; } } RumbleModdingAPI.Log("HealthWatcher Ending, Scene Changed", useDebug: true); return false; IL_0422: <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; return true; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <StartActionWatcher>d__45 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private bool <gotPlayer>5__1; private GameObject <localPlayerGameObject>5__2; private Exception <e>5__3; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <StartActionWatcher>d__45(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <localPlayerGameObject>5__2 = null; <e>5__3 = null; <>1__state = -2; } private bool MoveNext() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; case 1: <>1__state = -1; <gotPlayer>5__1 = false; <localPlayerGameObject>5__2 = null; break; case 2: <>1__state = -1; break; case 3: <>1__state = -1; break; } if (!<gotPlayer>5__1) { try { <localPlayerGameObject>5__2 = ((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).gameObject; RumbleModdingAPI.Log("grabbed Local Player", useDebug: true); } catch { } if ((Object)(object)<localPlayerGameObject>5__2 == (Object)null) { RumbleModdingAPI.Log("Local Player Null", useDebug: true); <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; return true; } if ((Object)(object)<localPlayerGameObject>5__2 != (Object)null) { RumbleModdingAPI.Log("Local Player != null", useDebug: true); <gotPlayer>5__1 = true; try { RumbleModdingAPI.Log("onMapInitialized Running: " + RumbleModdingAPI.currentScene, useDebug: true); TriggerOnMapInitialized(); RumbleModdingAPI.Log("onMapInitialized Complete", useDebug: true); RumbleModdingAPI.GetMods(); if (Singleton<PlayerManager>.instance.AllPlayers.Count > 1) { RumbleModdingAPI.Log("More than 1 Player", useDebug: true); if (RumbleModdingAPI.currentScene == "Map0") { RumbleModdingAPI.Log("Grabbing SlabOne MatchFormCanvas", useDebug: true); matchSlab = GameObjects.Map0.Logic.MatchSlabOne.MatchSlab.Slabbuddymatchvariant.MatchForm.MatchFormCanvas.GetGameObject(); } else if (RumbleModdingAPI.currentScene == "Map1") { RumbleModdingAPI.Log("Grabbing SlabTwo MatchFormCanvas", useDebug: true); matchSlab = GameObjects.Map1.Logic.MatchSlabTwo.MatchSlab.Slabbuddymatchvariant.MatchForm.MatchFormCanvas.GetGameObject(); } matchStarted = true; RumbleModdingAPI.Log("Get Health Current Scene: " + RumbleModdingAPI.currentScene, useDebug: true); if (RumbleModdingAPI.currentScene == "Map0" || RumbleModdingAPI.currentScene == "Map1") { RumbleModdingAPI.Log("onMatchStarted Running", useDebug: true); TriggerOnMatchStarted(); RumbleModdingAPI.Log("onRoundStarted Running", useDebug: true); TriggerOnRoundStarted(); } } MelonCoroutines.Start(HealthWatcher(sceneCount)); } catch (Exception ex) { <e>5__3 = ex; RumbleModdingAPI.Error(<e>5__3); } return false; } <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 3; return true; } return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <WaitForRoundStart>d__48 : IEnumerator<WaitForSeconds>, IEnumerator, IDisposable { private int <>1__state; private WaitForSeconds <>2__current; public int playerNumber; public int sceneNumber; private bool <matchEnded>5__1; private int <i>5__2; WaitForSeconds IEnumerator<WaitForSeconds>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitForRoundStart>d__48(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; RumbleModdingAPI.Log("Waiting for Round to Start", useDebug: true); <>2__current = new WaitForSeconds(0.5f); <>1__state = 1; return true; case 1: <>1__state = -1; RumbleModdingAPI.Log("WaitForSeconds(0.5f) Finished", useDebug: true); waitForMatchStart = true; <matchEnded>5__1 = false; break; case 2: <>1__state = -1; break; } if (waitForMatchStart && sceneCount == sceneNumber && playerNumber < Singleton<PlayerManager>.instance.AllPlayers.Count) { try { if (Singleton<PlayerManager>.instance.AllPlayers[playerNumber].Data.HealthPoints == 20) { <i>5__2 = 0; while (<i>5__2 < playerCount) { healths[<i>5__2] = Singleton<PlayerManager>.instance.AllPlayers[<i>5__2].Data.HealthPoints; <i>5__2++; } waitForMatchStart = false; if (Singleton<PlayerManager>.instance.AllPlayers.Count > 1 && (RumbleModdingAPI.currentScene == "Map0" || RumbleModdingAPI.currentScene == "Map1")) { RumbleModdingAPI.Log("onRoundStarted Running (Normal Round Start Mid Match)", useDebug: true); TriggerOnRoundStarted(); } } if (Singleton<PlayerManager>.instance.AllPlayers.Count > 1 && (RumbleModdingAPI.currentScene == "Map0" || RumbleModdingAPI.currentScene == "Map1") && !<matchEnded>5__1 && matchSlab.activeSelf) { <matchEnded>5__1 = true; matchStarted = false; RumbleModdingAPI.Log("onMatchEnded Running (Normal End)", useDebug: true); TriggerOnMatchEnded(); } } catch { } <>2__current = new WaitForSeconds(0.02f); <>1__state = 2; return true; } RumbleModdingAPI.Log("WaitForRoundStart Finished", useDebug: true); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private static int[] healths; private static int playerCount; private static bool waitForMatchStart; internal static int sceneCount; internal static bool matchStarted; internal static GameObject matchSlab; public static event Action onModStringRecieved; public static event Action onMyModsGathered; public static event Action<string> onMapInitialized; public static event Action<Player> onPlayerSpawned; public static event Action onMatchStarted; public static event Action onMatchEnded; public static event Action onRoundStarted; public static event Action onRoundEnded; public static event Action<Player, int> onPlayerHealthChanged; private static void TriggerAction(Action action) { Delegate[] array = action?.GetInvocationList(); if (array == null) { return; } Delegate[] array2 = array; foreach (Delegate @delegate in array2) { try { @delegate.DynamicInvoke(); } catch (Exception e) { RumbleModdingAPI.Log("Error for Mod: " + @delegate.Target); RumbleModdingAPI.Error(e); } } } private static void TriggerAction(Action<string> action, string msg) { Delegate[] array = action?.GetInvocationList(); if (array == null) { return; } Delegate[] array2 = array; foreach (Delegate @delegate in array2) { try { @delegate.DynamicInvoke(msg); } catch (Exception e) { RumbleModdingAPI.Log("Error for Mod: " + @delegate.Target); RumbleModdingAPI.Error(e); } } } private static void TriggerAction(Action<Player> action, Player player) { Delegate[] array = action?.GetInvocationList(); if (array == null) { return; } Delegate[] array2 = array; foreach (Delegate @delegate in array2) { try { @delegate.DynamicInvoke(player); } catch (Exception e) { RumbleModdingAPI.Log("Error for Mod: " + @delegate.Target); RumbleModdingAPI.Error(e); } } } private static void TriggerAction(Action<Player, int> action, Player player, int amount) { Delegate[] array = action?.GetInvocationList(); if (array == null) { return; } Delegate[] array2 = array; foreach (Delegate @delegate in array2) { try { @delegate.DynamicInvoke(player, amount); } catch (Exception e) { RumbleModdingAPI.Log("Error for Mod: " + @delegate.Target); RumbleModdingAPI.Error(e); } } } internal static void TriggerOnModStringRecieved() { TriggerAction(Actions.onModStringRecieved); } internal static void TriggerOnMyModsGathered() { TriggerAction(Actions.onMyModsGathered); } internal static void TriggerOnMapInitialized() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Action<string> action = Actions.onMapInitialized; Scene activeScene = SceneManager.GetActiveScene(); TriggerAction(action, ((Scene)(ref activeScene)).name); } internal static void TriggerOnPlayerSpawned(Player player) { TriggerAction(Actions.onPlayerSpawned, player); } internal static void TriggerOnMatchStarted() { TriggerAction(Actions.onMatchStarted); } internal static void TriggerOnMatchEnded() { TriggerAction(Actions.onMatchEnded); } internal static void TriggerOnRoundStarted() { TriggerAction(Actions.onRoundStarted); } internal static void TriggerOnRoundEnded() { TriggerAction(Actions.onRoundEnded); } internal static void TriggerOnPlayerHealthChanged(Player player, int amount) { TriggerAction(Actions.onPlayerHealthChanged, player, amount); } [IteratorStateMachine(typeof(<StartActionWatcher>d__45))] internal static IEnumerator StartActionWatcher() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <StartActionWatcher>d__45(0); } [IteratorStateMachine(typeof(<HealthWatcher>d__46))] internal static IEnumerator HealthWatcher(int sceneNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <HealthWatcher>d__46(0) { sceneNumber = sceneNumber }; } [IteratorStateMachine(typeof(<WaitForRoundStart>d__48))] private static IEnumerator<WaitForSeconds> WaitForRoundStart(int playerNumber, int sceneNumber) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitForRoundStart>d__48(0) { playerNumber = playerNumber, sceneNumber = sceneNumber }; } } public class AssetBundles { private static Stream ConvertToIl2CppStream(Stream stream) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown MemoryStream val = new MemoryStream(); byte[] array = new byte[4096]; Il2CppStructArray<byte> val2 = new Il2CppStructArray<byte>(array); int num; while ((num = stream.Read(array, 0, array.Length)) > 0) { val2 = Il2CppStructArray<byte>.op_Implicit(array); ((Stream)val).Write(val2, 0, num); } ((Stream)val).Flush(); return (Stream)(object)val; } private static MemoryStream StreamFromFile(string path) { byte[] buffer = File.ReadAllBytes(path); return new MemoryStream(buffer); } public static GameObject LoadAssetBundleGameObjectFromFile(string filePath, string assetName) { Stream stream = StreamFromFile(filePath); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); GameObject result = Object.Instantiate<GameObject>(val2.LoadAsset<GameObject>(assetName)); stream.Close(); val.Close(); val2.Unload(false); return result; } public static AssetBundle LoadAssetBundleFromFile(string filePath) { Stream stream = StreamFromFile(filePath); Stream val = ConvertToIl2CppStream(stream); AssetBundle result = AssetBundle.LoadFromStream(val); stream.Close(); val.Close(); return result; } public static T LoadAssetFromFile<T>(string filePath, string assetName) where T : Object { Stream stream = StreamFromFile(filePath); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); T result = val2.LoadAsset<T>(assetName); stream.Close(); val.Close(); val2.Unload(false); return result; } public static List<T> LoadAllOfTypeFromFile<T>(string filePath) where T : Object { Stream stream = StreamFromFile(filePath); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); List<T> list = new List<T>(); foreach (T item in val2.LoadAll<T>()) { list.Add(item); } stream.Close(); val.Close(); val2.Unload(false); return list; } public static AssetBundle LoadAssetBundleFromStream(string modName, string modAuthor, string assetPath) { using Stream stream = MelonBase.FindMelon(modName, modAuthor).MelonAssembly.Assembly.GetManifestResourceStream(assetPath); Stream val = ConvertToIl2CppStream(stream); AssetBundle result = AssetBundle.LoadFromStream(val); val.Close(); return result; } public static AssetBundle LoadAssetBundleFromStream(MelonMod instance, string assetPath) { using Stream stream = ((MelonBase)instance).MelonAssembly.Assembly.GetManifestResourceStream(assetPath); Stream val = ConvertToIl2CppStream(stream); AssetBundle result = AssetBundle.LoadFromStream(val); val.Close(); return result; } public static T LoadAssetFromStream<T>(MelonMod instance, string path, string assetName) where T : Object { using Stream stream = ((MelonBase)instance).MelonAssembly.Assembly.GetManifestResourceStream(path); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); val.Close(); T result = val2.LoadAsset<T>(assetName); val2.Unload(false); return result; } public static List<T> LoadAllOfTypeFromStream<T>(MelonMod instance, string path) where T : Object { using Stream stream = ((MelonBase)instance).MelonAssembly.Assembly.GetManifestResourceStream(path); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); List<T> list = new List<T>(); Il2CppArrayBase<T> val3 = val2.LoadAll<T>(); foreach (T item in val3) { list.Add(item); } val.Close(); val2.Unload(false); return list; } public static T LoadAssetFromStream<T>(string modName, string modAuthor, string path, string assetName) where T : Object { using Stream stream = MelonBase.FindMelon(modName, modAuthor).MelonAssembly.Assembly.GetManifestResourceStream(path); Stream val = ConvertToIl2CppStream(stream); AssetBundle val2 = AssetBundle.LoadFromStream(val); val.Close(); T result = val2.LoadAsset<T>(assetName); val2.Unload(false); return result; } } public static class AudioManager { public static AudioClip LoadWavFile(string filePath) { if (!File.Exists(filePath)) { return null; } byte[] fileBytes = File.ReadAllBytes(filePath); return LoadWavFromBytes(fileBytes, Path.GetFileNameWithoutExtension(filePath)); } private static AudioClip LoadWavFromBytes(byte[] fileBytes, string name) { int i = 12; int num = -1; int num2 = 0; int num3; for (; i < fileBytes.Length - 8; i += 8 + num3) { string @string = Encoding.ASCII.GetString(fileBytes, i, 4); num3 = BitConverter.ToInt32(fileBytes, i + 4); if (@string == "data") { num = i + 8; num2 = num3; break; } } if (num == -1) { return null; } int num4 = fileBytes[22]; int num5 = BitConverter.ToInt32(fileBytes, 24); int num6 = num2 / 2 / num4; float[] array = new float[num6 * num4]; for (int j = 0; j < num6 * num4; j++) { short num7 = BitConverter.ToInt16(fileBytes, num + j * 2); array[j] = (float)num7 / 32768f; } AudioClip val = AudioClip.Create(name, num6, num4, num5, false); val.SetData(Il2CppStructArray<float>.op_Implicit(array), 0); return val; } public static PooledAudioSource PlaySound(AudioCall audioCall, Vector3 position, bool isLooping = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) return Singleton<AudioManager>.instance.Play(audioCall, position, isLooping); } public static AudioCall CreateAudioCall(string filePath, float volume) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected O, but got Unknown //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Expected O, but got Unknown //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown string name = filePath.Replace(".wav", "").Split('\\')[^1]; if (File.Exists(filePath)) { AudioCall val = ScriptableObject.CreateInstance<AudioCall>(); ((Object)val).name = name; GeneralAudioSettings val2 = new GeneralAudioSettings(); val2.SetVolume(volume); val2.Pitch = 1f; val.generalSettings = val2; SpatialAudioSettings val3 = new SpatialAudioSettings(); val3.CustomReverbZoneMixCurve = new AnimationCurve(); val3.CustomRolloffCurve = new AnimationCurve(); val3.CustomSpatialBlendCurve = new AnimationCurve(); val3.CustomSpreadCurve = new AnimationCurve(); val.spatialSettings = val3; WeightedClip val4 = new WeightedClip(); AudioClip val5 = LoadWavFile(filePath); if ((Object)(object)val5 == (Object)null) { bool flag = false; return null; } ((Object)val5).name = name; ((Object)val5).hideFlags = (HideFlags)61; val5.LoadAudioData(); val4.Clip = val5; WeightedClip[] array = (WeightedClip[])(object)new WeightedClip[1] { val4 }; array[0].Weight = 1f; val.clips = Il2CppReferenceArray<WeightedClip>.op_Implicit(array); ((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0] = val.GetRandomClip(); ((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0].Clip = val5; ((Object)val).hideFlags = (HideFlags)61; ((Object)((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0].Clip).hideFlags = (HideFlags)61; return val; } return null; } public static AudioCall[] CreateAudioCalls(string[] filePaths, float volume) { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Expected O, but got Unknown //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Expected O, but got Unknown //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Expected O, but got Unknown AudioCall[] array = (AudioCall[])(object)new AudioCall[filePaths.Length]; for (int i = 0; i < filePaths.Length; i++) { string name = filePaths[i].Replace(".wav", "").Split('\\')[^1]; if (File.Exists(filePaths[i])) { AudioCall val = ScriptableObject.CreateInstance<AudioCall>(); ((Object)val).name = name; GeneralAudioSettings val2 = new GeneralAudioSettings(); val2.SetVolume(volume); val2.Pitch = 1f; val.generalSettings = val2; SpatialAudioSettings val3 = new SpatialAudioSettings(); val3.CustomReverbZoneMixCurve = new AnimationCurve(); val3.CustomRolloffCurve = new AnimationCurve(); val3.CustomSpatialBlendCurve = new AnimationCurve(); val3.CustomSpreadCurve = new AnimationCurve(); val.spatialSettings = val3; WeightedClip val4 = new WeightedClip(); AudioClip val5 = LoadWavFile(filePaths[i]); if ((Object)(object)val5 == (Object)null) { bool flag = false; array[i] = null; continue; } ((Object)val5).name = name; ((Object)val5).hideFlags = (HideFlags)61; val5.LoadAudioData(); val4.Clip = val5; WeightedClip[] array2 = (WeightedClip[])(object)new WeightedClip[1] { val4 }; array2[0].Weight = 1f; val.clips = Il2CppReferenceArray<WeightedClip>.op_Implicit(array2); ((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0] = val.GetRandomClip(); ((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0].Clip = val5; ((Object)val).hideFlags = (HideFlags)61; ((Object)((Il2CppArrayBase<WeightedClip>)(object)val.clips)[0].Clip).hideFlags = (HideFlags)61; array[i] = val; } else { array[i] = null; } } return array; } } public class Calls { public class Matchmaking { public static string getMatchmakingTypeAsString() { if (RumbleModdingAPI.currentScene != "Map0" && RumbleModdingAPI.currentScene != "Map1") { return "NULL"; } string result = ""; switch (RumbleModdingAPI.matchmakingType) { case 0: result = "Any Rank"; break; case 1: result = "Same Rank"; break; case 2: result = "Friends Only"; break; } return result; } public static int getMatchmakingTypeAsInt() { if (RumbleModdingAPI.currentScene != "Map0" && RumbleModdingAPI.currentScene != "Map1") { return -1; } return RumbleModdingAPI.matchmakingType; } } public class Mods { public static string getMyModString() { return RumbleModdingAPI.myModString; } public static string getOpponentModString() { return RumbleModdingAPI.opponentModString; } public static List<ModInfo> getMyMods() { return RumbleModdingAPI.myMods; } public static List<ModInfo> getOpponentMods() { return RumbleModdingAPI.opponentMods; } public static bool doesOpponentHaveMod(string modName, string ModVersion, bool matchVersion = true) { for (int i = 0; i < RumbleModdingAPI.opponentMods.Count; i++) { if (modName == RumbleModdingAPI.opponentMods[i].ModName) { if (matchVersion) { return ModVersion == RumbleModdingAPI.opponentMods[i].ModVersion; } return true; } } return false; } public static bool findOwnMod(string modName, string ModVersion, bool matchVersion = true) { for (int i = 0; i < RumbleModdingAPI.myMods.Count; i++) { if (modName == RumbleModdingAPI.myMods[i].ModName) { if (matchVersion) { return ModVersion == RumbleModdingAPI.myMods[i].ModVersion; } return true; } } return false; } } public class ControllerMap { public class RightController { public static float GetTrigger() { return RumbleModdingAPI.rightTrigger.ReadValue<float>(); } public static float GetGrip() { return RumbleModdingAPI.rightGrip.ReadValue<float>(); } public static float GetPrimary() { return RumbleModdingAPI.rightPrimary.ReadValue<float>(); } public static float GetSecondary() { return RumbleModdingAPI.rightSecondary.ReadValue<float>(); } public static Vector2 GetJoystick() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RumbleModdingAPI.rightJoystick.ReadValue<Vector2>(); } public static float GetJoystickClick() { return RumbleModdingAPI.rightJoystickClick.ReadValue<float>(); } } public class LeftController { public static float GetTrigger() { return RumbleModdingAPI.leftTrigger.ReadValue<float>(); } public static float GetGrip() { return RumbleModdingAPI.leftGrip.ReadValue<float>(); } public static float GetPrimary() { return RumbleModdingAPI.leftPrimary.ReadValue<float>(); } public static float GetSecondary() { return RumbleModdingAPI.leftSecondary.ReadValue<float>(); } public static Vector2 GetJoystick() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) return RumbleModdingAPI.leftJoystick.ReadValue<Vector2>(); } public static float GetJoystickClick() { return RumbleModdingAPI.leftJoystickClick.ReadValue<float>(); } } } public class Scene { public static string GetSceneName() { return RumbleModdingAPI.currentScene; } public static string GetLastSceneName() { return RumbleModdingAPI.lastScene; } } public class Players { public static bool IsHost() { return PhotonNetwork.IsMasterClient; } public static List<Player> GetAllPlayers() { return Singleton<PlayerManager>.instance.AllPlayers; } public static Player GetLocalPlayer() { return Singleton<PlayerManager>.instance.localPlayer; } public static PlayerController GetLocalPlayerController() { return Singleton<PlayerManager>.instance.localPlayer.Controller; } public static List<Player> GetEnemyPlayers() { List<Player> list = new List<Player>(); for (int i = 1; i < Singleton<PlayerManager>.instance.AllPlayers.Count; i++) { list.Add(Singleton<PlayerManager>.instance.AllPlayers[i]); } return list; } public static Player GetClosestPlayer(Vector3 position, bool ignoreLocalController) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Singleton<PlayerManager>.instance.GetClosestPlayer(position, ignoreLocalController); } public static Player GetClosestPlayer(Vector3 position, PlayerController ignoreController) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Singleton<PlayerManager>.instance.GetClosestPlayer(position, ignoreController); } public static Player GetPlayerByControllerType(ControllerType controllerType) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Singleton<PlayerManager>.instance.GetPlayer(controllerType); } public static Player GetPlayerByActorNo(int actorNumber) { return Singleton<PlayerManager>.instance.GetPlayerByActorNo(actorNumber); } public static List<Player> GetPlayersInActorNoOrder() { bool flag = false; List<Player> list = new List<Player>(); for (int i = 1; i < Singleton<PlayerManager>.instance.AllPlayers.Count; i++) { if (!flag && Singleton<PlayerManager>.instance.AllPlayers[0].Data.GeneralData.ActorNo < Singleton<PlayerManager>.instance.AllPlayers[i].Data.GeneralData.ActorNo) { list.Add(Singleton<PlayerManager>.instance.AllPlayers[0]); flag = true; } list.Add(Singleton<PlayerManager>.instance.AllPlayers[i]); } return list; } } public static bool IsInitialized() { return RumbleModdingAPI.init; } public static bool IsMapInitialized() { return RumbleModdingAPI.mapInit; } } public class Create { public static GameObject newTextGameObject; public static GameObject newButtonGameObject; public static GameObject NewText() { GameObject val = Object.Instantiate<GameObject>(newTextGameObject); val.SetActive(true); ((TMP_Text)val.GetComponent<TextMeshPro>()).autoSizeTextContainer = true; return val; } public static GameObject NewText(string text, float textSize, Color textColor, Vector3 textPosition, Quaternion textRotation) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate<GameObject>(newTextGameObject); val.SetActive(true); TextMeshPro component = val.GetComponent<TextMeshPro>(); ((TMP_Text)component).text = text; ((TMP_Text)component).fontSize = textSize; ((TMP_Text)component).color = textColor; ((TMP_Text)component).autoSizeTextContainer = true; newTextGameObject.transform.position = textPosition; newTextGameObject.transform.rotation = textRotation; return val; } public static GameObject NewButton() { GameObject val = Object.Instantiate<GameObject>(newButtonGameObject); val.SetActive(true); return val; } public static GameObject NewButton(Vector3 buttonPosition, Quaternion buttonRotation) { //IL_0012: 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) GameObject val = Object.Instantiate<GameObject>(newButtonGameObject); val.transform.position = buttonPosition; val.transform.rotation = buttonRotation; val.SetActive(true); return val; } public static GameObject NewButton(Action action) { GameObject val = Object.Instantiate<GameObject>(newButtonGameObject); val.SetActive(true); ((Component)val.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit(action)); return val; } public static GameObject NewButton(Vector3 buttonPosition, Quaternion buttonRotation, Action action) { //IL_0012: 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) GameObject val = Object.Instantiate<GameObject>(newButtonGameObject); val.transform.position = buttonPosition; val.transform.rotation = buttonRotation; val.SetActive(true); ((Component)val.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit(action)); return val; } internal static void SetupAPIItems() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_007e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)RumbleModdingAPI.parentAPIItems == (Object)null) { RumbleModdingAPI.parentAPIItems = new GameObject(); ((Object)RumbleModdingAPI.parentAPIItems).name = "APIItems"; Object.DontDestroyOnLoad((Object)(object)RumbleModdingAPI.parentAPIItems); } if ((Object)(object)newTextGameObject == (Object)null) { newTextGameObject = Object.Instantiate<GameObject>(GameObjects.Gym.INTERACTABLES.Leaderboard.PlayerTags.HighscoreTag.Nr.GetGameObject()); TextMeshPro component = newTextGameObject.GetComponent<TextMeshPro>(); ((Object)newTextGameObject).name = "NewTextGameObject"; ((TMP_Text)component).text = "new Text"; ((TMP_Text)component).color = Color.black; newTextGameObject.SetActive(false); newTextGameObject.transform.parent = RumbleModdingAPI.parentAPIItems.transform; } if ((Object)(object)newButtonGameObject == (Object)null) { newButtonGameObject = Object.Instantiate<GameObject>(GameObjects.Gym.TUTORIAL.Statictutorials.RUMBLEStarterGuide.NextPageButton.InteractionButton.GetGameObject()); ((Object)newButtonGameObject).name = "newButton"; newButtonGameObject.SetActive(false); newButtonGameObject.transform.parent = RumbleModdingAPI.parentAPIItems.transform; } } } public class GameObjects { public class DDOL { public class LanguageManager { public static GameObject GetGameObject() { return RumbleModdingAPI.allBaseDDOLGameObjects[0]; } } public class PhotonMono { public static GameObject GetGameObject() { return RumbleModdingAPI.allBaseDDOLGameObjects[1]; } } public class GameInstance { public class PreInitializable { public class AudioManager { public static GameObject GetGameObject() { return ((Component)PreInitializable.GetGameObject().transform.GetChild(0)).gameObject; } } public class PoolManager { public class PoolWrappedWallRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(0)).gameObject; } } public class PoolPrisonedPillarRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(1)).gameObject; } } public class PoolDockedDiskRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(2)).gameObject; } } public class PoolCageCubeRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(3)).gameObject; } } public class PoolFruitFatRUMBLEEnvironmentFruit { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(4)).gameObject; } } public class PoolFruitLongRUMBLEEnvironmentFruit { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(5)).gameObject; } } public class PoolFruitRUMBLEEnvironmentFruit { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(6)).gameObject; } } public class PoolBoulderballScoredVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(7)).gameObject; } } public class PoolMinigameConfettiVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(8)).gameObject; } } public class PoolMatchpedestalRUMBLEPoolsPooledMonoBehaviour { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(9)).gameObject; } } public class PoolInfoSlabRUMBLEPoolsPooledMonoBehaviour { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(10)).gameObject; } } public class PoolMatchSlabRUMBLEPoolsPooledMonoBehaviour { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(11)).gameObject; } } public class PoolGearCoinVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(12)).gameObject; } } public class PoolStructureTargetRUMBLEMoveSystemStructureTarget { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(13)).gameObject; } } public class PoolVFXDustStructureTargetRespawnRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(14)).gameObject; } } public class PoolPooledAudioSourceManualRUMBLEPoolsPooledAudioSource { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(15)).gameObject; } } public class PoolChargestoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(16)).gameObject; } } public class PoolRockCamDespawnVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(17)).gameObject; } } public class PoolRockCamSpawnVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(18)).gameObject; } } public class PoolOnPlayerVisualsChangedVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(19)).gameObject; } } public class PoolFistbumpCoinRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(20)).gameObject; } } public class PoolVigorstoneBurstVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(21)).gameObject; } } public class PoolBoulderBallRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(22)).gameObject; } } public class PoolGuardstoneTutorialGuardStoneTutorial { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(23)).gameObject; } } public class PoolVolatileStoneRUMBLECombatShiftStonesVolatileStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(24)).gameObject; } } public class PoolChargeStoneRUMBLECombatShiftStonesChargeStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(25)).gameObject; } } public class PoolSurgeStoneRUMBLECombatShiftStonesCounterStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(26)).gameObject; } } public class PoolFlowStoneRUMBLECombatShiftStonesFlowStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(27)).gameObject; } } public class PoolGuardStoneRUMBLECombatShiftStonesGuardStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(28)).gameObject; } } public class PoolStubbornStoneRUMBLECombatShiftStonesStubbornStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(29)).gameObject; } } public class PoolAdamantStoneRUMBLECombatShiftStonesUnyieldingStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(30)).gameObject; } } public class PoolVigorStoneRUMBLECombatShiftStonesVigorStone { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(31)).gameObject; } } public class PoolSurgestoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(32)).gameObject; } } public class PoolGuardstoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(33)).gameObject; } } public class PoolStubbornstoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(34)).gameObject; } } public class PoolAdamantstoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(35)).gameObject; } } public class PoolVigorstoneVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(36)).gameObject; } } public class PoolSmallRockRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(37)).gameObject; } } public class PoolLargeRockRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(38)).gameObject; } } public class PoolFlickVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(39)).gameObject; } } public class PoolPlayerBoxInteractionVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(40)).gameObject; } } public class PoolExplodeActivationVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(41)).gameObject; } } public class PoolExplodeFinaleVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(42)).gameObject; } } public class PoolExplodeStatusVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(43)).gameObject; } } public class PoolVFXDustModifierDashRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(44)).gameObject; } } public class PoolVFXDustPlayerKnockbackRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(45)).gameObject; } } public class PoolHitmarkerRUMBLEPlayersSubsystemsPlayerHitmarker { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(46)).gameObject; } } public class PoolVFXDustModifierGroundRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(47)).gameObject; } } public class PoolStructureCollisionVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(48)).gameObject; } } public class PoolVFXDustModifierFreeRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(49)).gameObject; } } public class PoolVFXDustModifierJumpRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(50)).gameObject; } } public class PoolPosePerformedVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(51)).gameObject; } } public class PoolMovePerformedVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(52)).gameObject; } } public class PoolRicochetVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(53)).gameObject; } } public class PoolParryVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(54)).gameObject; } } public class PoolHoldVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(55)).gameObject; } } public class PoolUppercutVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(56)).gameObject; } } public class PoolStraightVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(57)).gameObject; } } public class PoolKickVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(58)).gameObject; } } public class PoolStompVFXRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(59)).gameObject; } } public class PoolVFXDustPlayerFootstepRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(60)).gameObject; } } public class PoolPillarRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(61)).gameObject; } } public class PoolDiscRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(62)).gameObject; } } public class PoolVFXDustStructureSpawnRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(63)).gameObject; } } public class PoolVFXDustStructureBreakRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(64)).gameObject; } } public class PoolVFXDustStructureImpactRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(65)).gameObject; } } public class PoolJointControlRUMBLEPhysicsJointControl { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(66)).gameObject; } } public class PoolWallRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(67)).gameObject; } } public class PoolRockCubeRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(68)).gameObject; } } public class PoolBallRUMBLEMoveSystemStructure { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(69)).gameObject; } } public class PoolPooledAudioSourceRUMBLEPoolsPooledAudioSource { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(70)).gameObject; } } public class PoolVFXDustStructureFrictionRUMBLEPoolsPooledVisualEffect { public static GameObject GetGameObject() { return ((Component)PoolManager.GetGameObject().transform.GetChild(71)).gameObject; } } public static GameObject GetGameObject() { return ((Component)PreInitializable.GetGameObject().transform.GetChild(1)).gameObject; } } public class PlayFabHandler { public static GameObject GetGameObject() { return ((Component)PreInitializable.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)GameInstance.GetGameObject().transform.GetChild(0)).gameObject; } } public class Initializable { public class NetworkManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(0)).gameObject; } } public class PlayerManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(1)).gameObject; } } public class SceneManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(2)).gameObject; } } public class NotificationManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(3)).gameObject; } } public class StackManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(4)).gameObject; } } public class GraphicsManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(5)).gameObject; } } public class SocialHandler { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(6)).gameObject; } } public class SlabManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(7)).gameObject; } } public class RecordingCamera { public class FadeScreenRenderer { public static GameObject GetGameObject() { return ((Component)RecordingCamera.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(8)).gameObject; } } public class CatalogHandler { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(9)).gameObject; } } public class EconomyHandler { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(10)).gameObject; } } public class InputManager { public static GameObject GetGameObject() { return ((Component)Initializable.GetGameObject().transform.GetChild(11)).gameObject; } } public static GameObject GetGameObject() { return ((Component)GameInstance.GetGameObject().transform.GetChild(1)).gameObject; } } public class Other { public class RaiseEventHandler { public static GameObject GetGameObject() { return ((Component)Other.GetGameObject().transform.GetChild(0)).gameObject; } } public class Layermasks { public static GameObject GetGameObject() { return ((Component)Other.GetGameObject().transform.GetChild(1)).gameObject; } } public class CombatManager { public static GameObject GetGameObject() { return ((Component)Other.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)GameInstance.GetGameObject().transform.GetChild(2)).gameObject; } } public class UI { public class RecordingUI { public class Panel { public class RotationSmoothing { public class Label { public static GameObject GetGameObject() { return ((Component)RotationSmoothing.GetGameObject().transform.GetChild(0)).gameObject; } } public class Minlabel { public static GameObject GetGameObject() { return ((Component)RotationSmoothing.GetGameObject().transform.GetChild(1)).gameObject; } } public class maxLabel { public static GameObject GetGameObject() { return ((Component)RotationSmoothing.GetGameObject().transform.GetChild(2)).gameObject; } } public class SliderOutline { public class Background { public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(0)).gameObject; } } public class FillArea { public class Fill { public static GameObject GetGameObject() { return ((Component)FillArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(1)).gameObject; } } public class HandleSlideArea { public class Handle { public class Current { public static GameObject GetGameObject() { return ((Component)Handle.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)HandleSlideArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)RotationSmoothing.GetGameObject().transform.GetChild(3)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(0)).gameObject; } } public class PositionSmoothing { public class Label { public static GameObject GetGameObject() { return ((Component)PositionSmoothing.GetGameObject().transform.GetChild(0)).gameObject; } } public class Minlabel { public static GameObject GetGameObject() { return ((Component)PositionSmoothing.GetGameObject().transform.GetChild(1)).gameObject; } } public class maxLabel { public static GameObject GetGameObject() { return ((Component)PositionSmoothing.GetGameObject().transform.GetChild(2)).gameObject; } } public class SliderOutline { public class Background { public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(0)).gameObject; } } public class FillArea { public class Fill { public static GameObject GetGameObject() { return ((Component)FillArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(1)).gameObject; } } public class HandleSlideArea { public class Handle { public class Current { public static GameObject GetGameObject() { return ((Component)Handle.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)HandleSlideArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)PositionSmoothing.GetGameObject().transform.GetChild(3)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(1)).gameObject; } } public class FieldOfView { public class Label { public static GameObject GetGameObject() { return ((Component)FieldOfView.GetGameObject().transform.GetChild(0)).gameObject; } } public class Minlabel { public static GameObject GetGameObject() { return ((Component)FieldOfView.GetGameObject().transform.GetChild(1)).gameObject; } } public class maxLabel { public static GameObject GetGameObject() { return ((Component)FieldOfView.GetGameObject().transform.GetChild(2)).gameObject; } } public class SliderOutline { public class Background { public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(0)).gameObject; } } public class FillArea { public class Fill { public static GameObject GetGameObject() { return ((Component)FillArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(1)).gameObject; } } public class HandleSlideArea { public class Handle { public class Current { public static GameObject GetGameObject() { return ((Component)Handle.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)HandleSlideArea.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)SliderOutline.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)FieldOfView.GetGameObject().transform.GetChild(3)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(2)).gameObject; } } public class Enabled { public class Label { public static GameObject GetGameObject() { return ((Component)Enabled.GetGameObject().transform.GetChild(0)).gameObject; } } public class ToggleStandard { public class Check { public class Checkmark { public static GameObject GetGameObject() { return ((Component)Check.GetGameObject().transform.GetChild(0)).gameObject; } } public class Filled { public static GameObject GetGameObject() { return ((Component)Check.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)ToggleStandard.GetGameObject().transform.GetChild(0)).gameObject; } } public class LabelOn { public static GameObject GetGameObject() { return ((Component)ToggleStandard.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Enabled.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(3)).gameObject; } } public class ToggleLabel { public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(4)).gameObject; } } public class RockCamWarning { public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(5)).gameObject; } } public class LIVsetupmanualbutton { public class Text { public static GameObject GetGameObject() { return ((Component)LIVsetupmanualbutton.GetGameObject().transform.GetChild(0)).gameObject; } } public class Ripple { public static GameObject GetGameObject() { return ((Component)LIVsetupmanualbutton.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(6)).gameObject; } } public class LIVLabel { public static GameObject GetGameObject() { return ((Component)Panel.GetGameObject().transform.GetChild(7)).gameObject; } } public static GameObject GetGameObject() { return ((Component)RecordingUI.GetGameObject().transform.GetChild(0)).gameObject; } } public class CameraDisableWarning { public class TooltipRect { public class Content { public class Shadow { public static GameObject GetGameObject() { return ((Component)Content.GetGameObject().transform.GetChild(0)).gameObject; } } public class Background { public static GameObject GetGameObject() { return ((Component)Content.GetGameObject().transform.GetChild(1)).gameObject; } } public class Description { public static GameObject GetGameObject() { return ((Component)Content.GetGameObject().transform.GetChild(2)).gameObject; } } public static GameObject GetGameObject() { return ((Component)TooltipRect.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)CameraDisableWarning.GetGameObject().transform.GetChild(0)).gameObject; } } public static GameObject GetGameObject() { return ((Component)RecordingUI.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)UI.GetGameObject().transform.GetChild(0)).gameObject; } } public class EventSystem { public static GameObject GetGameObject() { return ((Component)UI.GetGameObject().transform.GetChild(1)).gameObject; } } public static GameObject GetGameObject() { return ((Component)GameInstance.GetGameObject().transform.GetChild(3)).gameObject; } } public class External { public class LanguageManager { public static GameObject GetGameObject() { return ((Component)External.GetGameObject().transform.GetChild(0)).gameObject; } } public class LCKStatusUtility { public static GameObject GetGameObject() { return ((Component)External.GetGameObject().transform.GetChild(1)).gameObject; } } public class PunVoiceClient { public static GameObject GetGameOb