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 RegionMapUpgrade v1.1.3
Mods/RegionMapUpgrade.dll
Decompiled 5 months agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using HarmonyLib; using Il2CppInterop.Runtime.InteropTypes.Arrays; using Il2CppRUMBLE.Interactions.InteractionBase; using Il2CppRUMBLE.Managers; using Il2CppRUMBLE.Networking.MatchFlow.Regions; using Il2CppRUMBLE.Networking.MatchFlow.Regions.Interactions; using Il2CppRUMBLE.UI; using Il2CppRUMBLE.Utilities; using Il2CppTMPro; using MelonLoader; using Microsoft.CodeAnalysis; using RegionMapUpgrade; using RumbleModUI; using RumbleModdingAPI; using UnityEngine; using UnityEngine.Events; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(Main), "RegionMapUpgrade", "1.1.3", "UlvakSkillz", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 195, 0, 255)] [assembly: MelonAuthorColor(255, 195, 0, 255)] [assembly: VerifyLoaderVersion(0, 6, 6, true)] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("RegionMapUpgrade")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+6541cd019576b1f56fb9e8588ddad47843140073")] [assembly: AssemblyProduct("RegionMapUpgrade")] [assembly: AssemblyTitle("RegionMapUpgrade")] [assembly: AssemblyVersion("1.0.0.0")] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace RegionMapUpgrade { public static class BuildInfo { public const string ModName = "RegionMapUpgrade"; public const string ModVersion = "1.1.3"; public const string Description = ""; public const string Author = "UlvakSkillz"; public const string Company = ""; } [RegisterTypeInIl2Cpp] public class HandColliderMapCheck : MonoBehaviour { private bool thisOneIsTouching = false; private void OnTriggerEnter(Collider other) { if (!Main.touchingARegion && Main.touchscreen && !Main.running && (!(((Object)((Component)other).gameObject).name != "Bone_HandAlpha_L") || !(((Object)((Component)other).gameObject).name != "Bone_HandAlpha_R"))) { Main.touchingARegion = true; thisOneIsTouching = true; ((Component)this).gameObject.GetComponent<Region>().Select(); } } private void OnTriggerExit(Collider other) { if (thisOneIsTouching && (!(((Object)((Component)other).gameObject).name != "Bone_HandAlpha_L") || !(((Object)((Component)other).gameObject).name != "Bone_HandAlpha_R"))) { Main.touchingARegion = false; thisOneIsTouching = false; } } } public class Main : MelonMod { [HarmonyPatch(typeof(Region), "UnHighlight")] public static class MatchmakingType { private static void Postfix(ref Region __instance) { try { if ((mapColor && mapColorGrey) || (mapColor && ((TMP_Text)((Component)((Component)__instance).gameObject.transform.GetChild(0)).GetComponent<TextMeshPro>()).text != "-1")) { __instance.Highlight(); } } catch { } } } [CompilerGenerated] private sealed class <GetPlayerCounts>d__31 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public Main <>4__this; private DateTime <startTime>5__1; private float <waitTime>5__2; private string <originalRegion>5__3; private float <prevUpdateInterval>5__4; private float <playerCount>5__5; private float <lastPlayerCount>5__6; private bool[] <tempEnabledRegions>5__7; private Transform <temp>5__8; private float <time>5__9; private GameObject <footer>5__10; private int <i>5__11; private Region <region>5__12; private GameObject <regionText>5__13; private DateTime <endCheck>5__14; private Color <color>5__15; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <GetPlayerCounts>d__31(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <originalRegion>5__3 = null; <tempEnabledRegions>5__7 = null; <temp>5__8 = null; <footer>5__10 = null; <region>5__12 = null; <regionText>5__13 = null; <>1__state = -2; } private bool MoveNext() { //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Expected O, but got Unknown //IL_060c: Unknown result type (might be due to invalid IL or missing references) //IL_0616: Expected O, but got Unknown //IL_0673: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Expected O, but got Unknown //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Expected O, but got Unknown //IL_032d: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Expected O, but got Unknown //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_0770: Expected O, but got Unknown //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04c7: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_0501: Unknown result type (might be due to invalid IL or missing references) //IL_050b: Unknown result type (might be due to invalid IL or missing references) //IL_0748: Unknown result type (might be due to invalid IL or missing references) //IL_0752: Expected O, but got Unknown //IL_0a61: Unknown result type (might be due to invalid IL or missing references) //IL_0a66: Unknown result type (might be due to invalid IL or missing references) //IL_0a6b: Unknown result type (might be due to invalid IL or missing references) //IL_0acc: Unknown result type (might be due to invalid IL or missing references) //IL_0af1: Unknown result type (might be due to invalid IL or missing references) //IL_0d41: Unknown result type (might be due to invalid IL or missing references) //IL_0d51: Unknown result type (might be due to invalid IL or missing references) //IL_0d67: Unknown result type (might be due to invalid IL or missing references) //IL_0d71: Unknown result type (might be due to invalid IL or missing references) //IL_0da1: Unknown result type (might be due to invalid IL or missing references) //IL_0de4: Unknown result type (might be due to invalid IL or missing references) //IL_0e0a: Unknown result type (might be due to invalid IL or missing references) //IL_0e36: Unknown result type (might be due to invalid IL or missing references) //IL_0e40: Unknown result type (might be due to invalid IL or missing references) //IL_0eb0: Unknown result type (might be due to invalid IL or missing references) //IL_0eb5: Unknown result type (might be due to invalid IL or missing references) //IL_0eba: Unknown result type (might be due to invalid IL or missing references) //IL_0f1a: Unknown result type (might be due to invalid IL or missing references) //IL_0f3f: Unknown result type (might be due to invalid IL or missing references) //IL_0921: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05f8: Expected O, but got Unknown //IL_0973: Unknown result type (might be due to invalid IL or missing references) //IL_0978: Unknown result type (might be due to invalid IL or missing references) //IL_0955: Unknown result type (might be due to invalid IL or missing references) //IL_095a: Unknown result type (might be due to invalid IL or missing references) //IL_099d: Unknown result type (might be due to invalid IL or missing references) //IL_09a2: Unknown result type (might be due to invalid IL or missing references) //IL_0a2c: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; running = true; <startTime>5__1 = DateTime.Now; <waitTime>5__2 = 2f; <originalRegion>5__3 = Singleton<NetworkManager>.instance.networkConfig.FixedRegion; <prevUpdateInterval>5__4 = <>4__this.regionSelector.updateInterval; <>4__this.playerRef = <>4__this.regionSelector.playerNumberCollection; <>4__this.pingRef = <>4__this.regionSelector.pingNumberCollection; <>4__this.prevStepDurations = new float[6] { ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[0].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[1].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[0].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[1].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[2].stepDuration }; <>4__this.regionCountText.Clear(); <>4__this.regionSelector.updateInterval = 0.1f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[0].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[1].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[0].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[1].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[2].stepDuration = 0.01f; goto IL_02b5; case 1: <>1__state = -1; goto IL_02b5; case 2: <>1__state = -1; goto IL_0348; case 3: <>1__state = -1; goto IL_0348; case 4: <>1__state = -1; goto IL_0627; case 5: <>1__state = -1; goto IL_0627; case 6: <>1__state = -1; <playerCount>5__5 = ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].currentNumber * 100 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[1].currentNumber * 10 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].currentNumber; <lastPlayerCount>5__6 = <playerCount>5__5; <endCheck>5__14 = DateTime.Now.AddSeconds(<waitTime>5__2); if (<waitTime>5__2 != 1f) { <waitTime>5__2 = 1f; } goto IL_0855; case 7: <>1__state = -1; goto IL_0781; case 8: { <>1__state = -1; goto IL_0781; } IL_0781: if (((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].rotateCoroutine != null || ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[1].rotateCoroutine != null || ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].rotateCoroutine != null) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 8; return true; } <playerCount>5__5 = ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].currentNumber * 100 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[1].currentNumber * 10 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].currentNumber; goto IL_0855; IL_0348: if (((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].rotateCoroutine != null || ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[1].rotateCoroutine != null || ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].rotateCoroutine != null) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 3; return true; } <playerCount>5__5 = ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].currentNumber * 100 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[1].currentNumber * 10 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].currentNumber; goto IL_041a; IL_041a: if (<playerCount>5__5 == 0f) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; return true; } <lastPlayerCount>5__6 = <playerCount>5__5; <tempEnabledRegions>5__7 = new bool[enabledRegions.Count]; enabledRegions.CopyTo(<tempEnabledRegions>5__7, 0); if (touchscreen) { ((Component)Model.GetGameObject().transform.GetChild(0)).gameObject.SetActive(false); Model.GetGameObject().transform.GetChild(1).localScale = Vector3.zero; Model.GetGameObject().transform.GetChild(1).localPosition = new Vector3(Model.GetGameObject().transform.GetChild(1).localPosition.x, Model.GetGameObject().transform.GetChild(1).localPosition.y - 1f, Model.GetGameObject().transform.GetChild(1).localPosition.z); ((Component)Model.GetGameObject().transform.GetChild(5)).gameObject.SetActive(false); } <i>5__11 = 0; goto IL_0b9b; IL_089d: if (mapColor) { if (!mapColorGrey && <playerCount>5__5 == 0f) { ((Renderer)<region>5__12.glowGameObject.GetComponent<MeshRenderer>()).material.shader = <>4__this.regionGlow; } else { if (<playerCount>5__5 >= (float)(greenMin + 1)) { <color>5__15 = new Color(0f, 0.5f, 0f); } else if (<playerCount>5__5 < (float)(yellowMin + 1)) { <color>5__15 = new Color(0.5f, 0f, 0f); } else { <color>5__15 = new Color(0.71f, 0.65f, 0f); } if (mapColorGrey && <playerCount>5__5 == 0f) { <color>5__15 = Color.gray; } if (!mapColorGrey && <playerCount>5__5 == 0f) { ((Renderer)<region>5__12.glowGameObject.GetComponent<MeshRenderer>()).material.shader = <>4__this.regionGlow; } else { ((Renderer)<region>5__12.glowGameObject.GetComponent<MeshRenderer>()).material.shader = <>4__this.urp; ((Renderer)<region>5__12.glowGameObject.GetComponent<MeshRenderer>()).material.color = <color>5__15; <region>5__12.Highlight(); } } } <regionText>5__13 = Create.NewText((<playerCount>5__5 - 1f).ToString(), 0.5f, Color.black, Vector3.zero, Quaternion.identity); ((Object)<regionText>5__13).name = ((Object)((Component)<region>5__12).gameObject).name; <regionText>5__13.transform.parent = ((Component)<region>5__12).transform; <regionText>5__13.transform.localPosition = new Vector3(0f, 0.05f, 0f); <regionText>5__13.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); ((TMP_Text)<regionText>5__13.GetComponent<TextMeshPro>()).alignment = (TextAlignmentOptions)514; ((TMP_Text)<regionText>5__13.GetComponent<TextMeshPro>()).enableWordWrapping = false; if (<playerCount>5__5 <= 1f || !<tempEnabledRegions>5__7[<i>5__11] || <>4__this.requeueing) { <regionText>5__13.SetActive(false); } <>4__this.regionCountText.Add(<regionText>5__13); <region>5__12 = null; <regionText>5__13 = null; <i>5__11++; goto IL_0b9b; IL_0855: if (DateTime.Now <= <endCheck>5__14 && <playerCount>5__5 == <lastPlayerCount>5__6) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 7; return true; } <lastPlayerCount>5__6 = <playerCount>5__5; goto IL_089d; IL_0b9b: if (<i>5__11 < regionOrder.Count) { if (<>4__this.bail) { <>4__this.bail = false; return false; } <region>5__12 = ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[regionOrder[<i>5__11]]; ((Component)<region>5__12).gameObject.AddComponent<HandColliderMapCheck>(); if (touchscreen) { ((Component)<region>5__12).gameObject.layer = 22; } if (<tempEnabledRegions>5__7[<i>5__11] && !<>4__this.requeueing) { <region>5__12.Select(); <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 4; return true; } <playerCount>5__5 = 0f; goto IL_089d; } if (!<>4__this.requeueing) { ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[regionCodes.IndexOf(<originalRegion>5__3)].Select(); } <>4__this.regionSelector.updateInterval = <prevUpdateInterval>5__4; if (!touchscreen) { ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[0].stepDuration = <>4__this.prevStepDurations[0]; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[1].stepDuration = <>4__this.prevStepDurations[1]; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].stepDuration = <>4__this.prevStepDurations[2]; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[0].stepDuration = <>4__this.prevStepDurations[3]; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[1].stepDuration = <>4__this.prevStepDurations[4]; ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[2].stepDuration = <>4__this.prevStepDurations[5]; } <temp>5__8 = Model.GetGameObject().transform.GetChild(3).GetChild(0).GetChild(11); <temp>5__8.localPosition = new Vector3(<temp>5__8.localPosition.x, <temp>5__8.localPosition.y + 0.018f, <temp>5__8.localPosition.z); <>4__this.regionCountText[0].transform.localPosition = new Vector3(0f, 0.049f, 0f); ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[11].glowGameObject.transform.localPosition = new Vector3(((Il2CppArrayBase<Region>)(object)<>4__this.regions)[11].glowGameObject.transform.localPosition.x, ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[11].glowGameObject.transform.localPosition.y + 0.017f, ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[11].glowGameObject.transform.localPosition.z); MelonCoroutines.Start(<>4__this.PlayerCountForActiveRegionWatcher()); <time>5__9 = (float)(DateTime.Now - <startTime>5__1).TotalSeconds; <footer>5__10 = Create.NewText("Last Time To Load: " + <time>5__9.ToString("0.##") + " Seconds", 0.25f, new Color(1f, 0.77f, 0.5f), Vector3.zero, Quaternion.identity); ((Object)<footer>5__10).name = "TimeToLoad"; <footer>5__10.transform.parent = ((Component)Model.GetGameObject().transform.GetChild(2)).transform; <footer>5__10.transform.localPosition = new Vector3(-0.3f, 0.07f, -0.27f); <footer>5__10.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); running = false; return false; IL_0627: if (((TMP_Text)((Component)Model.GetGameObject().transform.GetChild(7).GetChild(1)).GetComponent<TextMeshProUGUI>()).text != regionTitles[regionCodes.IndexOf(<region>5__12.RegionCode)]) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 5; return true; } <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 6; return true; IL_02b5: if (((TMP_Text)((Component)Model.GetGameObject().transform.GetChild(7).GetChild(1)).GetComponent<TextMeshProUGUI>()).text != regionTitles[regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion)]) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 1; return true; } <playerCount>5__5 = 0f; goto IL_041a; } } 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 <PlayerCountForActiveRegionWatcher>d__32 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public Main <>4__this; private bool <init>5__1; private int <lastPlayerCount>5__2; private int <playerCount>5__3; private int <lastPingCount>5__4; private int <pingCount>5__5; private int <currentRegionSpot>5__6; private Region <region>5__7; private TextMeshPro <regionTMP>5__8; private GameObject <pingCountGO>5__9; private TextMeshPro <pingTMP>5__10; private Color <color>5__11; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PlayerCountForActiveRegionWatcher>d__32(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <region>5__7 = null; <regionTMP>5__8 = null; <pingCountGO>5__9 = null; <pingTMP>5__10 = null; <>1__state = -2; } private bool MoveNext() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Expected O, but got Unknown //IL_05b4: Unknown result type (might be due to invalid IL or missing references) //IL_05be: Expected O, but got Unknown //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_047a: Unknown result type (might be due to invalid IL or missing references) //IL_047f: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0461: Unknown result type (might be due to invalid IL or missing references) //IL_049b: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(1f); <>1__state = 1; return true; case 1: <>1__state = -1; <init>5__1 = false; <lastPlayerCount>5__2 = int.Parse(((TMP_Text)((Component)((Component)((Il2CppArrayBase<Region>)(object)<>4__this.regions)[regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion)]).gameObject.transform.GetChild(0)).GetComponent<TextMeshPro>()).text); <playerCount>5__3 = 0; <lastPingCount>5__4 = 0; <pingCount>5__5 = 0; <currentRegionSpot>5__6 = -1; <region>5__7 = null; <regionTMP>5__8 = null; <pingCountGO>5__9 = Create.NewText("Ping: -1", 0.5f, Color.black, Vector3.zero, Quaternion.identity); <pingTMP>5__10 = <pingCountGO>5__9.GetComponent<TextMeshPro>(); ((Object)<pingCountGO>5__9).name = "Ping"; <pingCountGO>5__9.transform.parent = Model.GetGameObject().transform.GetChild(2); <pingCountGO>5__9.transform.localPosition = new Vector3(-0.127f, 0.148f, 0.385f); <pingCountGO>5__9.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); ((TMP_Text)<pingTMP>5__10).enableWordWrapping = false; if (!showPing) { <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 2; return true; } break; case 2: <>1__state = -1; <pingCountGO>5__9.SetActive(false); break; case 3: <>1__state = -1; break; } if (<>4__this.currentScene == "Gym" && !<>4__this.bail) { <playerCount>5__3 = ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[0].currentNumber * 100 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.playerNumberCollection.revolvingNumbers)[1].currentNumber * 10 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.playerRef.revolvingNumbers)[2].currentNumber; <pingCount>5__5 = ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.pingNumberCollection.revolvingNumbers)[0].currentNumber * 100 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.regionSelector.pingNumberCollection.revolvingNumbers)[1].currentNumber * 10 + ((Il2CppArrayBase<RevolvingNumber>)(object)<>4__this.pingRef.revolvingNumbers)[2].currentNumber; if (!<init>5__1 || <playerCount>5__3 != <lastPlayerCount>5__2 || <currentRegionSpot>5__6 != regionOrder.IndexOf(regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion))) { if (<currentRegionSpot>5__6 != regionOrder.IndexOf(regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion))) { <currentRegionSpot>5__6 = regionOrder.IndexOf(regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion)); <region>5__7 = ((Il2CppArrayBase<Region>)(object)<>4__this.regions)[regionCodes.IndexOf(Singleton<NetworkManager>.instance.networkConfig.FixedRegion)]; <regionTMP>5__8 = <>4__this.regionCountText[<currentRegionSpot>5__6].GetComponent<TextMeshPro>(); } if (mapColor && (Object)(object)((Renderer)<region>5__7.glowGameObject.GetComponent<MeshRenderer>()).material.shader != (Object)(object)<>4__this.urp) { ((Renderer)<region>5__7.glowGameObject.GetComponent<MeshRenderer>()).material.shader = <>4__this.urp; } if (<playerCount>5__3 >= greenMin + 1) { <color>5__11 = new Color(0f, 0.5f, 0f); } else if (<playerCount>5__3 < yellowMin + 1) { <color>5__11 = new Color(0.5f, 0f, 0f); } else { <color>5__11 = new Color(0.71f, 0.65f, 0f); } ((Renderer)<region>5__7.glowGameObject.GetComponent<MeshRenderer>()).material.color = <color>5__11; ((TMP_Text)<regionTMP>5__8).text = (<playerCount>5__3 - 1).ToString(); if (<playerCount>5__3 <= 1) { <>4__this.regionCountText[<currentRegionSpot>5__6].SetActive(false); } else if (!<>4__this.regionCountText[<currentRegionSpot>5__6].active) { <>4__this.regionCountText[<currentRegionSpot>5__6].SetActive(true); } <lastPlayerCount>5__2 = <playerCount>5__3; <init>5__1 = true; } if (showPing && <pingCount>5__5 != <lastPingCount>5__4) { ((TMP_Text)<pingTMP>5__10).text = $"Ping: {<pingCount>5__5}"; <lastPingCount>5__4 = <pingCount>5__5; } <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 3; return true; } if (<>4__this.bail) { <>4__this.bail = false; } 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 string currentScene = "Loader"; private Mod RegionMapUpgrade = new Mod(); public static List<bool> enabledRegions = new List<bool> { false, false, false, false, false, false, false, false, false, false, false, false, false }; private Shader urp; public static bool running = false; public static bool touchscreen = true; public static bool mapColor = true; public static bool mapColorGrey = true; public static int greenMin = 9; public static int yellowMin = 1; public static bool showPing = true; private bool bail = false; private bool requeueing = false; public static bool touchingARegion = false; private List<GameObject> regionCountText = new List<GameObject>(); private RegionSelector regionSelector; private Il2CppReferenceArray<Region> regions; public static List<string> regionCodes = new List<string> { "asia", "au", "cae", "eu", "in", "jp", "ru", "rue", "za", "sa", "kr", "us", "usw" }; public static List<string> regionTextGOOrder = new List<string> { "us", "usw", "eu", "au", "cae", "asia", "in", "jp", "ru", "rue", "za", "sa", "kr" }; public static string[] regionTitles = new string[13] { "Asia", "Australia", "Canada", "Europe", "India", "Japan", "Russia", "Russia, East", "South Africa", "South America", "South Korea", "USA, East", "USA, West" }; public static List<int> regionOrder = new List<int> { 11, 12, 3, 1, 2, 0, 4, 5, 6, 7, 8, 9, 10 }; private float[] prevStepDurations; private RevolvingNumberCollection pingRef; private RevolvingNumberCollection playerRef; private Shader regionGlow; public static void Log(string msg) { MelonLogger.Msg(msg); } public override void OnLateInitializeMelon() { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Expected O, but got Unknown //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Expected O, but got Unknown //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Expected O, but got Unknown //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Expected O, but got Unknown //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Expected O, but got Unknown //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Expected O, but got Unknown //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Expected O, but got Unknown //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Expected O, but got Unknown //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Expected O, but got Unknown //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Expected O, but got Unknown //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Expected O, but got Unknown //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Expected O, but got Unknown //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Expected O, but got Unknown RegionMapUpgrade.ModName = "RegionMapUpgrade"; RegionMapUpgrade.ModVersion = "1.1.3"; RegionMapUpgrade.SetFolder("RegionMapUpgrade"); RegionMapUpgrade.AddToList("USA, East", true, 0, "Toggle's US East Check On/Off", new Tags()); RegionMapUpgrade.AddToList("USA, West", true, 0, "Toggle's US West Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Europe", true, 0, "Toggle's Europe Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Australia", true, 0, "Toggle's Australia Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Canada", true, 0, "Toggle's Canada Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Asia", true, 0, "Toggle's Asia Check On/Off", new Tags()); RegionMapUpgrade.AddToList("India", true, 0, "Toggle's India Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Japan", true, 0, "Toggle's Japan Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Russia ", true, 0, "Toggle's Russia Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Russia, East", true, 0, "Toggle's Russia, East Check On/Off", new Tags()); RegionMapUpgrade.AddToList("South Africa", true, 0, "Toggle's South Africa Check On/Off", new Tags()); RegionMapUpgrade.AddToList("South America", true, 0, "Toggle's South America Check On/Off", new Tags()); RegionMapUpgrade.AddToList("South Korea", true, 0, "Toggle's South Korea Check On/Off", new Tags()); RegionMapUpgrade.AddToList("Touch Screen", true, 0, "Toggle's TouchScreen Version of RegionBoard On/Off", new Tags()); RegionMapUpgrade.AddToList("Map Color ", true, 0, "Toggle's Coloring the World Map On/Off", new Tags()); RegionMapUpgrade.AddToList("Map Color - Grey", true, 0, "Toggle's Grey Coloring the World Map On/Off", new Tags()); RegionMapUpgrade.AddToList("Map Color - Green Min", 9, "Sets the Minimum Player Count needed to Turn Green on the World Map", new Tags()); RegionMapUpgrade.AddToList("Map Color - Yellow Min", 1, "Sets the Minimum Player Count needed to Turn Yellow on the World Map", new Tags()); RegionMapUpgrade.AddToList("Show Ping", true, 0, "Toggle's Ping Counter On/Off", new Tags()); RegionMapUpgrade.GetFromFile(); Save(); Calls.onMapInitialized += mapInit; Calls.onMatchStarted += AddButtonListeners; UI.instance.UI_Initialized += UIInit; RegionMapUpgrade.ModSaved += Save; urp = Shader.Find("Universal Render Pipeline/Lit"); regionGlow = Shader.Find("Shader Graphs/RegionSelectGlow"); } private void UIInit() { UI.instance.AddMod(RegionMapUpgrade); } private void Save() { //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_0615: Unknown result type (might be due to invalid IL or missing references) //IL_0640: Unknown result type (might be due to invalid IL or missing references) //IL_065a: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_0684: Unknown result type (might be due to invalid IL or missing references) //IL_087c: Unknown result type (might be due to invalid IL or missing references) //IL_0846: Unknown result type (might be due to invalid IL or missing references) //IL_084b: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < enabledRegions.Count; i++) { enabledRegions[i] = (bool)RegionMapUpgrade.Settings[i].SavedValue; } bool flag = touchscreen; touchscreen = (bool)RegionMapUpgrade.Settings[enabledRegions.Count].SavedValue; bool flag2 = mapColor; mapColor = (bool)RegionMapUpgrade.Settings[enabledRegions.Count + 1].SavedValue; bool flag3 = mapColorGrey; mapColorGrey = (bool)RegionMapUpgrade.Settings[enabledRegions.Count + 2].SavedValue; int num = greenMin; greenMin = (int)RegionMapUpgrade.Settings[enabledRegions.Count + 3].SavedValue; int num2 = yellowMin; yellowMin = (int)RegionMapUpgrade.Settings[enabledRegions.Count + 4].SavedValue; bool flag4 = showPing; showPing = (bool)RegionMapUpgrade.Settings[enabledRegions.Count + 5].SavedValue; if (greenMin < yellowMin || yellowMin < 1 || greenMin < 2) { Log("Error Setting Green/Yellow Minimums. Reverting Values. Values Given: Green: " + greenMin + ", Yellow: " + yellowMin); greenMin = num; yellowMin = num2; RegionMapUpgrade.Settings[enabledRegions.Count + 3].SavedValue = greenMin; RegionMapUpgrade.Settings[enabledRegions.Count + 3].Value = greenMin; RegionMapUpgrade.Settings[enabledRegions.Count + 4].SavedValue = yellowMin; RegionMapUpgrade.Settings[enabledRegions.Count + 4].Value = yellowMin; } if (!(currentScene == "Gym")) { return; } if (touchscreen && !flag) { prevStepDurations = new float[6] { ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[0].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[1].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[2].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[0].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[1].stepDuration, ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[2].stepDuration }; ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[0].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[1].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[2].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[0].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[1].stepDuration = 0.01f; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[2].stepDuration = 0.01f; ((Component)Model.GetGameObject().transform.GetChild(0)).gameObject.SetActive(false); Model.GetGameObject().transform.GetChild(1).localScale = Vector3.zero; Model.GetGameObject().transform.GetChild(1).localPosition = new Vector3(Model.GetGameObject().transform.GetChild(1).localPosition.x, Model.GetGameObject().transform.GetChild(1).localPosition.y - 1f, Model.GetGameObject().transform.GetChild(1).localPosition.z); ((Component)Model.GetGameObject().transform.GetChild(5)).gameObject.SetActive(false); foreach (Region item in (Il2CppArrayBase<Region>)(object)((Component)Model.GetGameObject().transform.GetChild(3)).GetComponent<WorldMap>().regions) { ((Component)item).gameObject.layer = 22; } } else if (!touchscreen && flag) { ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[0].stepDuration = prevStepDurations[0]; ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[1].stepDuration = prevStepDurations[1]; ((Il2CppArrayBase<RevolvingNumber>)(object)playerRef.revolvingNumbers)[2].stepDuration = prevStepDurations[2]; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[0].stepDuration = prevStepDurations[3]; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[1].stepDuration = prevStepDurations[4]; ((Il2CppArrayBase<RevolvingNumber>)(object)pingRef.revolvingNumbers)[2].stepDuration = prevStepDurations[5]; ((Component)Model.GetGameObject().transform.GetChild(0)).gameObject.SetActive(true); Model.GetGameObject().transform.GetChild(1).localScale = Vector3.one; Model.GetGameObject().transform.GetChild(1).localPosition = new Vector3(Model.GetGameObject().transform.GetChild(1).localPosition.x, Model.GetGameObject().transform.GetChild(1).localPosition.y + 1f, Model.GetGameObject().transform.GetChild(1).localPosition.z); ((Component)Model.GetGameObject().transform.GetChild(5)).gameObject.SetActive(true); foreach (Region item2 in (Il2CppArrayBase<Region>)(object)((Component)Model.GetGameObject().transform.GetChild(3)).GetComponent<WorldMap>().regions) { ((Component)item2).gameObject.layer = 0; } } if (mapColor != flag2 || mapColorGrey != flag3 || greenMin != num || yellowMin != num2) { Color gray = default(Color); foreach (Region item3 in (Il2CppArrayBase<Region>)(object)regions) { if (mapColor) { int num3 = int.Parse(((TMP_Text)((Component)((Component)item3).gameObject.transform.GetChild(0)).GetComponent<TextMeshPro>()).text); if (!mapColorGrey && num3 == -1) { ((Renderer)item3.glowGameObject.GetComponent<MeshRenderer>()).material.shader = regionGlow; item3.UnHighlight(); continue; } if (num3 >= greenMin) { ((Color)(ref gray))..ctor(0f, 0.5f, 0f); } else if (num3 < yellowMin) { ((Color)(ref gray))..ctor(0.5f, 0f, 0f); } else { ((Color)(ref gray))..ctor(0.71f, 0.65f, 0f); } if (mapColorGrey && num3 == -1) { gray = Color.gray; } ((Renderer)item3.glowGameObject.GetComponent<MeshRenderer>()).material.shader = urp; ((Renderer)item3.glowGameObject.GetComponent<MeshRenderer>()).material.color = gray; item3.Highlight(); } else { ((Renderer)item3.glowGameObject.GetComponent<MeshRenderer>()).material.shader = regionGlow; if (item3.regionCode != Singleton<NetworkManager>.instance.networkConfig.FixedRegion) { item3.UnHighlight(); } } } } if (showPing != flag4) { if (showPing) { ((Component)Model.GetGameObject().transform.GetChild(2).GetChild(4)).gameObject.SetActive(true); } else { ((Component)Model.GetGameObject().transform.GetChild(2).GetChild(4)).gameObject.SetActive(false); } } } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { currentScene = sceneName; bail = true; } private void mapInit() { bail = false; if (currentScene == "Gym" && !bail) { regionSelector = ((Component)Model.GetGameObject().transform.GetChild(1).GetChild(0)).GetComponent<RegionSelector>(); regions = ((Component)Model.GetGameObject().transform.GetChild(3)).GetComponent<WorldMap>().regions; MelonCoroutines.Start(GetPlayerCounts()); } else if (bail) { bail = false; } else { requeueing = false; } } [IteratorStateMachine(typeof(<GetPlayerCounts>d__31))] private IEnumerator GetPlayerCounts() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <GetPlayerCounts>d__31(0) { <>4__this = this }; } [IteratorStateMachine(typeof(<PlayerCountForActiveRegionWatcher>d__32))] private IEnumerator PlayerCountForActiveRegionWatcher() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PlayerCountForActiveRegionWatcher>d__32(0) { <>4__this = this }; } private void AddButtonListeners() { if (Players.IsHost()) { if (currentScene == "Map0") { Button.GetGameObject().GetComponent<InteractionButton>().OnPressed.AddListener(UnityAction.op_Implicit((Action)delegate { requeueing = true; })); } else if (currentScene == "Map1") { Button.GetGameObject().GetComponent<InteractionButton>().OnPressed.AddListener(UnityAction.op_Implicit((Action)delegate { requeueing = true; })); } } else if (currentScene == "Map0") { Button.GetGameObject().GetComponent<InteractionButton>().OnPressed.AddListener(UnityAction.op_Implicit((Action)delegate { requeueing = true; })); } else if (currentScene == "Map1") { Button.GetGameObject().GetComponent<InteractionButton>().OnPressed.AddListener(UnityAction.op_Implicit((Action)delegate { requeueing = true; })); } } } }