Decompiled source of RegionMapUpgrade v1.1.4

Mods/RegionMapUpgrade.dll

Decompiled 2 months ago
using 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 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.4", "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+c44ac405c5b4a8aaf650eeaa86c19a122c4137c2")]
[assembly: AssemblyProduct("RegionMapUpgrade")]
[assembly: AssemblyTitle("RegionMapUpgrade")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace RegionMapUpgrade;

public static class BuildInfo
{
	public const string ModName = "RegionMapUpgrade";

	public const string ModVersion = "1.1.4";

	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.4";
		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;
			}));
		}
	}
}