Decompiled source of Precipice v0.1.1

Precipice.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using RWF;
using RarityBundle;
using TMPro;
using UnboundLib;
using UnboundLib.GameModes;
using UnboundLib.Utils;
using UnboundLib.Utils.UI;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")]
[assembly: SecurityPermission(8, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(/*Could not decode attribute arguments.*/)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
public class CardSpawner : MonoBehaviour
{
	[CompilerGenerated]
	private sealed class <Fall>d__2 : Object, IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		public Transform obj;

		object IEnumerator<object>.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		object IEnumerator.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		[DebuggerHidden]
		public <Fall>d__2(int <>1__state)
		{
			this.<>1__state = <>1__state;
		}

		[DebuggerHidden]
		void IDisposable.Dispose()
		{
			<>1__state = -2;
		}

		private bool MoveNext()
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			switch (<>1__state)
			{
			default:
				return false;
			case 0:
				<>1__state = -1;
				break;
			case 1:
				<>1__state = -1;
				break;
			}
			if ((Object)(object)this.obj != (Object)null)
			{
				Transform obj = this.obj;
				obj.position += Vector3.down * 5f * Time.deltaTime;
				<>2__current = null;
				<>1__state = 1;
				return true;
			}
			return false;
		}

		[DebuggerHidden]
		void IEnumerator.Reset()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			throw new NotSupportedException();
		}
	}

	private void Start()
	{
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_002f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0040: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Expected O, but got Unknown
		((Component)this).transform.position = new Vector3((float)(30 * ((((Component)this).transform.position.x > 0f) ? 1 : (-1))), 40f, 1f);
		ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)this, (((Component)this).transform.position.x > 0f) ? 0.1f : 3f, new Action(CardFall));
	}

	private void CardFall()
	{
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Expected O, but got Unknown
		List<CardInfo> val = Enumerable.ToList<CardInfo>(Enumerable.Where<CardInfo>((IEnumerable<CardInfo>)(object)CardChoice.instance.cards, (Func<CardInfo, bool>)((CardInfo c) => !((Object)c).name.StartsWith("__Curse__") && !((Object)c).name.Contains("Cake_Toggle"))));
		GameObject val2 = Object.Instantiate<GameObject>(((Component)val[Random.Range(0, Enumerable.Count<CardInfo>((IEnumerable<CardInfo>)(object)val))]).gameObject);
		val2.transform.position = ((Component)this).transform.position;
		Transform transform = val2.transform;
		transform.localScale *= 0.5f;
		val2.GetComponentInChildren<CardVisuals>().firstValueToSet = true;
		val2.AddComponent<Canvas>().sortingLayerName = "Background";
		((MonoBehaviour)this).StartCoroutine(Fall(val2.transform));
		Object.Destroy((Object)(object)val2, 15f);
		ExtensionMethods.ExecuteAfterSeconds((MonoBehaviour)(object)this, 4f, new Action(CardFall));
	}

	[IteratorStateMachine(/*Could not decode attribute arguments.*/)]
	private IEnumerator Fall(Transform obj)
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return (IEnumerator)(object)new <Fall>d__2(0)
		{
			obj = obj
		};
	}
}
[BepInPlugin("Systems.R00t.Precipice", "Precipice BETA", "0.1.1")]
[BepInProcess("Rounds.exe")]
public class ModPack : BaseUnityPlugin
{
	[CompilerGenerated]
	private sealed class <Cleanup>d__6 : Object, IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		object IEnumerator<object>.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		object IEnumerator.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		[DebuggerHidden]
		public <Cleanup>d__6(int <>1__state)
		{
			this.<>1__state = <>1__state;
		}

		[DebuggerHidden]
		void IDisposable.Dispose()
		{
			<>1__state = -2;
		}

		private bool MoveNext()
		{
			if (<>1__state != 0)
			{
				return false;
			}
			<>1__state = -1;
			Object.Destroy((Object)(object)Spawned_background);
			return false;
		}

		[DebuggerHidden]
		void IEnumerator.Reset()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			throw new NotSupportedException();
		}
	}

	[CompilerGenerated]
	private sealed class <ToggleCards>d__9 : Object, IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		object IEnumerator<object>.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		object IEnumerator.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		[DebuggerHidden]
		public <ToggleCards>d__9(int <>1__state)
		{
			this.<>1__state = <>1__state;
		}

		[DebuggerHidden]
		void IDisposable.Dispose()
		{
			<>1__state = -2;
		}

		private bool MoveNext()
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Invalid comparison between Unknown and I4
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			if (<>1__state != 0)
			{
				return false;
			}
			<>1__state = -1;
			List<CardInfo> val = new List<CardInfo>();
			List<CardInfo> val2 = new List<CardInfo>();
			Enumerator<string, Card> enumerator = CardManager.cards.GetEnumerator();
			try
			{
				while (enumerator.MoveNext())
				{
					KeyValuePair<string, Card> current = enumerator.Current;
					if (cards.ContainsKey(((ConfigEntryBase)current.Value.config).Definition.Key))
					{
						val.Add(current.Value.cardInfo);
						if ((int)cards[((ConfigEntryBase)current.Value.config).Definition.Key] != -1)
						{
							current.Value.cardInfo.rarity = cards[((ConfigEntryBase)current.Value.config).Definition.Key];
						}
					}
					else
					{
						val2.Add(current.Value.cardInfo);
					}
				}
			}
			finally
			{
				((IDisposable)enumerator).Dispose();
			}
			CardManager.EnableCards(val.ToArray(), true);
			CardManager.DisableCards(val2.ToArray(), true);
			return false;
		}

		[DebuggerHidden]
		void IEnumerator.Reset()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			throw new NotSupportedException();
		}
	}

	[CompilerGenerated]
	private sealed class <ToggleLevels>d__10 : Object, IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		object IEnumerator<object>.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		object IEnumerator.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		[DebuggerHidden]
		public <ToggleLevels>d__10(int <>1__state)
		{
			this.<>1__state = <>1__state;
		}

		[DebuggerHidden]
		void IDisposable.Dispose()
		{
			<>1__state = -2;
		}

		private bool MoveNext()
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			if (<>1__state != 0)
			{
				return false;
			}
			<>1__state = -1;
			List<string> val = new List<string>();
			List<string> val2 = new List<string>();
			Enumerator<string, Level> enumerator = LevelManager.levels.Keys.GetEnumerator();
			try
			{
				while (enumerator.MoveNext())
				{
					string current = enumerator.Current;
					if (maps.Contains(current))
					{
						LevelManager.EnableLevel(current, true);
						LevelManager.levels[current].enabled = true;
					}
					else
					{
						LevelManager.DisableLevel(current, true);
						LevelManager.levels[current].enabled = false;
					}
				}
			}
			finally
			{
				((IDisposable)enumerator).Dispose();
			}
			LevelManager.EnableLevels(val.ToArray(), true);
			LevelManager.DisableLevels(val2.ToArray(), true);
			return false;
		}

		[DebuggerHidden]
		void IEnumerator.Reset()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			throw new NotSupportedException();
		}
	}

	private const string ModId = "Systems.R00t.Precipice";

	private const string ModName = "Precipice BETA";

	public const string Version = "0.1.1";

	public static GameObject menu_background;

	public static GameObject Spawned_background;

	public static Dictionary<string, Rarity> cards;

	public static List<string> maps;

	private void Awake()
	{
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		GameModeManager.AddHook("GameStart", (Func<IGameModeHandler, IEnumerator>)([CompilerGenerated] (IGameModeHandler gm) => ToggleCards()), 800);
		GameModeManager.AddHook("GameStart", (Func<IGameModeHandler, IEnumerator>)([CompilerGenerated] (IGameModeHandler gm) => ToggleLevels()), 800);
		GameModeManager.AddHook("GameStart", (Func<IGameModeHandler, IEnumerator>)([CompilerGenerated] (IGameModeHandler gm) => Cleanup()), 800);
		new Harmony("Systems.R00t.Precipice").PatchAll();
		menu_background = AssetUtils.LoadAssetBundleFromResources("precipice", typeof(ModPack).Assembly).LoadAsset<GameObject>("Precipice_Menu");
	}

	[IteratorStateMachine(/*Could not decode attribute arguments.*/)]
	private IEnumerator Cleanup()
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return (IEnumerator)(object)new <Cleanup>d__6(0);
	}

	private void Start()
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0014: Expected O, but got Unknown
		ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)this, 20, (Action)([CompilerGenerated] () =>
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_048b: 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)
			//IL_04ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_04df: Unknown result type (might be due to invalid IL or missing references)
			//IL_054f: Unknown result type (might be due to invalid IL or missing references)
			//IL_056b: Unknown result type (might be due to invalid IL or missing references)
			//IL_060b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0657: Unknown result type (might be due to invalid IL or missing references)
			//IL_0697: Unknown result type (might be due to invalid IL or missing references)
			//IL_074f: Unknown result type (might be due to invalid IL or missing references)
			//IL_078f: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_087b: Unknown result type (might be due to invalid IL or missing references)
			//IL_08df: Unknown result type (might be due to invalid IL or missing references)
			//IL_0907: Unknown result type (might be due to invalid IL or missing references)
			//IL_092f: Unknown result type (might be due to invalid IL or missing references)
			//IL_093f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0997: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da0: Unknown result type (might be due to invalid IL or missing references)
			Dictionary<string, Rarity> obj = new Dictionary<string, Rarity>();
			obj.Add("__BSC__Yeetus", (Rarity)(-1));
			obj.Add("__BSC__Random confringo", (Rarity)(-1));
			obj.Add("__BSC__Copycat", (Rarity)(-1));
			obj.Add("__BSC__Snap effect", RarityBundle.Scarce);
			obj.Add("__BSC__Get over here", (Rarity)(-1));
			obj.Add("__BSC__Quadratics", (Rarity)(-1));
			obj.Add("__BSC__Pong", RarityBundle.Exotic);
			obj.Add("__CC__Distill", RarityBundle.Epic);
			obj.Add("__CC__Drift Mines", (Rarity)(-1));
			obj.Add("__CC__An actual gun", (Rarity)(-1));
			obj.Add("__CC__Shock Blast", (Rarity)(-1));
			obj.Add("__CPC__Delayed Sentry", (Rarity)(-1));
			obj.Add("__CPC__Sentry Gun", (Rarity)(-1));
			obj.Add("__CPC__P.A.G.", (Rarity)(-1));
			obj.Add("__CPC__Reverse Thrusters", (Rarity)(-1));
			obj.Add("__CPC__Chainmail Armor", (Rarity)(-1));
			obj.Add("__CPC__Diamond Armor", (Rarity)(-1));
			obj.Add("__CPC__Gold Armor", (Rarity)(-1));
			obj.Add("__CPC__Iron Armor", (Rarity)(-1));
			obj.Add("__CPC__Leather Armor", (Rarity)(-1));
			obj.Add("__CPC__Netherite Armor", (Rarity)(-1));
			obj.Add("__CPC__Diamond Axe", (Rarity)(-1));
			obj.Add("__CPC__Gold Axe", (Rarity)(-1));
			obj.Add("__CPC__Iron Axe", (Rarity)(-1));
			obj.Add("__CPC__Netherite Axe", (Rarity)(-1));
			obj.Add("__CPC__Stone Axe", (Rarity)(-1));
			obj.Add("__CPC__Wooden Axe", (Rarity)(-1));
			obj.Add("__CPC__Crafting Table", (Rarity)(-1));
			obj.Add("__CPC__Diamond Hoe", (Rarity)(-1));
			obj.Add("__CPC__Gold Hoe", (Rarity)(-1));
			obj.Add("__CPC__Iron Hoe", (Rarity)(-1));
			obj.Add("__CPC__Netherite Hoe", (Rarity)(-1));
			obj.Add("__CPC__Stone Hoe", (Rarity)(-1));
			obj.Add("__CPC__Wooden Hoe", (Rarity)(-1));
			obj.Add("__CPC__Diamond Sword", (Rarity)(-1));
			obj.Add("__CPC__Gold Sword", (Rarity)(-1));
			obj.Add("__CPC__Iron Sword", (Rarity)(-1));
			obj.Add("__CPC__Netherite Sword", (Rarity)(-1));
			obj.Add("__CPC__Stone Sword", (Rarity)(-1));
			obj.Add("__CPC__Wooden Sword", (Rarity)(-1));
			obj.Add("__Curse__Air Resistance", (Rarity)(-1));
			obj.Add("__Curse__Ammo Regulations", (Rarity)(-1));
			obj.Add("__Curse__Anime Physics", (Rarity)(-1));
			obj.Add("__Curse__Counterfeit Ammo", (Rarity)(-1));
			obj.Add("__Curse__Crooked Legs", (Rarity)(-1));
			obj.Add("__Curse__Damnation", (Rarity)(-1));
			obj.Add("__Curse__Defective Trigger", (Rarity)(-1));
			obj.Add("__Curse__Driven to Earth", (Rarity)(-1));
			obj.Add("__Curse__Fragile Body", (Rarity)(-1));
			obj.Add("__Curse__Heavy Shields", (Rarity)(-1));
			obj.Add("__Curse__Lead Bullets", (Rarity)(-1));
			obj.Add("__Curse__Misaligned Sights", (Rarity)(-1));
			obj.Add("__Curse__Misfire", (Rarity)(-1));
			obj.Add("__Curse__Needle Bullets", (Rarity)(-1));
			obj.Add("__Curse__Pasta Shells", (Rarity)(-1));
			obj.Add("__Curse__Take A Number", (Rarity)(-1));
			obj.Add("__Curse__Uncomfortable Defense", (Rarity)(-1));
			obj.Add("__Curse__Wild Shots", (Rarity)(-1));
			obj.Add("__Curse__Tired Body", (Rarity)(-1));
			obj.Add("__Curse__Group Winning", (Rarity)(-1));
			obj.Add("__Curse__Seeping Corruption", (Rarity)(-1));
			obj.Add("__Curse__Bleeding Wounds", (Rarity)(-1));
			obj.Add("__Curse__Eroding Darkness", (Rarity)(-1));
			obj.Add("__Curse__Fumbled Mags", (Rarity)(-1));
			obj.Add("__Curse__Momentary Confusion", (Rarity)(-1));
			obj.Add("__Curse__Poisonous Trauma", (Rarity)(-1));
			obj.Add("__Curse__Shaky Bullets", (Rarity)(-1));
			obj.Add("__Curse__Weak Mind", (Rarity)(-1));
			obj.Add("__Curse__Severed Fate", (Rarity)(-1));
			obj.Add("__Curse__Slow Reflexes", (Rarity)(-1));
			obj.Add("__Curse__Missed Opportunities", (Rarity)(-1));
			obj.Add("__Curse__Greed", (Rarity)(-1));
			obj.Add("__GearUP__Chompy Bullet", (Rarity)(-1));
			obj.Add("__GearUP__Guardians Charm", (Rarity)(-1));
			obj.Add("__GearUP__Hollow Life", (Rarity)(-1));
			obj.Add("__GearUP__Shield Battery", (Rarity)(-1));
			obj.Add("__GearUP__Size Normalizer", (Rarity)(-1));
			obj.Add("__GearUP__Tactical Scanner", (Rarity)(-1));
			obj.Add("__GearUP__Tiberium Bullet", (Rarity)(-1));
			obj.Add("__GearUP__Glyph CAD Module", (Rarity)(-1));
			obj.Add("__GearUP__Divination Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Geometric Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Influence Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Magick Fragments", (Rarity)(-1));
			obj.Add("__GearUP__Potency Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Replication Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Time Glyph", (Rarity)(-1));
			obj.Add("__GearUP__Gun Parts", (Rarity)(-1));
			obj.Add("__GearUP__Medical Parts", (Rarity)(-1));
			obj.Add("__GearUP__Arcane Sun", (Rarity)(-1));
			obj.Add("__GearUP__Lifeforce Duorbity", (Rarity)(-1));
			obj.Add("__GearUP__Lifeforce Blast! ", (Rarity)(-1));
			obj.Add("__GearUP__Orb-literation!", (Rarity)(-1));
			obj.Add("__GearUP__Portal Magick", (Rarity)(-1));
			obj.Add("__GearUP__Rolling Borbwark", (Rarity)(-1));
			obj.Add("__GearUP__Arc of Bullets", RarityBundle.Exotic);
			obj.Add("__GearUP__Parallel Bullets", RarityBundle.Exotic);
			obj.Add("__Cats__Lightsaber", RarityBundle.Epic);
			obj.Add("__PFFC__Jester", (Rarity)(-1));
			obj.Add("__PFFC__King Of Fools", (Rarity)(-1));
			obj.Add("__PFFC__Jokes on you!", (Rarity)(-1));
			obj.Add("__PFFC__Way of the Jester", RarityBundle.Epic);
			obj.Add("__PFFC__Wildcard", (Rarity)(-1));
			obj.Add("__PFFC__Juggernaut", (Rarity)(-1));
			obj.Add("__PFFC__Armor Plating", (Rarity)(-1));
			obj.Add("__PFFC__Conditioning", (Rarity)(-1));
			obj.Add("__PFFC__Size Matters", (Rarity)(-1));
			obj.Add("__PFFC__Steroids", (Rarity)(-1));
			obj.Add("__PFFC__Marksman", (Rarity)(-1));
			obj.Add("__PFFC__Armor-Piercing Rounds", (Rarity)(-1));
			obj.Add("__PFFC__Barret .50 Cal", RarityBundle.Mythical);
			obj.Add("__PFFC__Sniper Rifle Extended Mag", (Rarity)(-1));
			obj.Add("__SM__Magic Missile", RarityBundle.Legendary);
			obj.Add("__RSC__Astronomer", (Rarity)(-1));
			obj.Add("__RSC__Bigger Barriers", (Rarity)(-1));
			obj.Add("__RSC__Dark Harvest", (Rarity)(-1));
			obj.Add("__RSC__Domain Extension", (Rarity)(-1));
			obj.Add("__RSC__Faster Barriers", (Rarity)(-1));
			obj.Add("__RSC__Gravity Well", (Rarity)(-1));
			obj.Add("__RSC__Harvest Sickle", (Rarity)(-1));
			obj.Add("__RSC__Harvester", (Rarity)(-1));
			obj.Add("__RSC__Hitscan", (Rarity)(-1));
			obj.Add("__RSC__Sharper Scythes", (Rarity)(-1));
			obj.Add("__RSC__Twin Scythes", (Rarity)(-1));
			obj.Add("Barrage", (Rarity)(-1));
			obj.Add("Big Bullet", RarityBundle.Trinket);
			obj.Add("BombsAway", (Rarity)(-1));
			obj.Add("Bouncy", (Rarity)(-1));
			obj.Add("Buckshot", (Rarity)(-1));
			obj.Add("Burst", (Rarity)(-1));
			obj.Add("Careful planning", (Rarity)(-1));
			obj.Add("Chase", RarityBundle.Scarce);
			obj.Add("ChillingPresence", (Rarity)(-1));
			obj.Add("Cold bullets", (Rarity)(-1));
			obj.Add("Combine", (Rarity)(-1));
			obj.Add("Dazzle", (Rarity)(-1));
			obj.Add("Decay", RarityBundle.Exotic);
			obj.Add("Defender", (Rarity)(-1));
			obj.Add("Demonic pact", (Rarity)(-1));
			obj.Add("DrillAmmo", (Rarity)(-1));
			obj.Add("Echo", (Rarity)(-1));
			obj.Add("EMP", (Rarity)(-1));
			obj.Add("Empower", (Rarity)(-1));
			obj.Add("Explosive bullet", (Rarity)(-1));
			obj.Add("Fast ball", (Rarity)(-1));
			obj.Add("Fast forward", (Rarity)(-1));
			obj.Add("Frost slam", (Rarity)(-1));
			obj.Add("Glasscannon", (Rarity)(-1));
			obj.Add("Grow", (Rarity)(-1));
			obj.Add("Healing field", (Rarity)(-1));
			obj.Add("Homing", (Rarity)(-1));
			obj.Add("HUGE", RarityBundle.Scarce);
			obj.Add("Implode", (Rarity)(-1));
			obj.Add("Leach", (Rarity)(-1));
			obj.Add("Lifestealer", (Rarity)(-1));
			obj.Add("Mayhem", (Rarity)(-1));
			obj.Add("Overpower", RarityBundle.Rare);
			obj.Add("Parasite", (Rarity)(-1));
			obj.Add("Quick Reload", (Rarity)(-1));
			obj.Add("Quick Shot", (Rarity)(-1));
			obj.Add("RadarShot", (Rarity)(-1));
			obj.Add("Radiance", (Rarity)(-1));
			obj.Add("Remote", (Rarity)(-1));
			obj.Add("Riccochet", (Rarity)(-1));
			obj.Add("Saw", (Rarity)(-1));
			obj.Add("Scavenger", RarityBundle.Rare);
			obj.Add("Shield Charge", (Rarity)(-1));
			obj.Add("Shields up", (Rarity)(-1));
			obj.Add("Shockwave", (Rarity)(-1));
			obj.Add("Silence", (Rarity)(-1));
			obj.Add("Sneaky bullets", (Rarity)(-1));
			obj.Add("SPRAY", (Rarity)(-1));
			obj.Add("Static field", (Rarity)(-1));
			obj.Add("Steady shot", (Rarity)(-1));
			obj.Add("Supernova", (Rarity)(-1));
			obj.Add("Tank", RarityBundle.Uncommon);
			obj.Add("TargetBounce", (Rarity)(-1));
			obj.Add("TasteOfBlood", (Rarity)(-1));
			obj.Add("Teleport", (Rarity)(-1));
			obj.Add("Thruster", (Rarity)(-1));
			obj.Add("Timed detonation", (Rarity)(-1));
			obj.Add("Wind up", (Rarity)(-1));
			obj.Add("__WB__69=420", (Rarity)(-1));
			obj.Add("__WB__Good maths", RarityBundle.Rare);
			obj.Add("__WB__Blood Thirst", (Rarity)(-1));
			obj.Add("__WB__Dr Michael Morbius", (Rarity)(-1));
			obj.Add("__WB__Its Morbin Time", RarityBundle.Scarce);
			obj.Add("__WB__Morb Screech", (Rarity)(-1));
			obj.Add("__WB__Tickets to the Morbius Movie", (Rarity)(-1));
			obj.Add("__WB__Natural twenty", RarityBundle.Epic);
			obj.Add("__TSC__White Hole", RarityBundle.Exotic);
			obj.Add("__TSC__Black Hole", (Rarity)(-1));
			obj.Add("__WWC__Adrenaline Rush", (Rarity)(-1));
			obj.Add("__WWC__Aggressive Venting", (Rarity)(-1));
			obj.Add("__WWC__Basic Physics", (Rarity)(-1));
			obj.Add("__WWC__Boomerang", (Rarity)(-1));
			obj.Add("__WWC__Endurance Training", (Rarity)(-1));
			obj.Add("__WWC__Vampirism", RarityBundle.Exotic);
			obj.Add("__WWC__Immovable Object", RarityBundle.Trinket);
			obj.Add("__WWC__Unstoppable Force", RarityBundle.Trinket);
			obj.Add("Root-Card  Cake_Toggle (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Backup_ShotGun (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Up_Down (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Stun_Dart (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Witch_Time (Root)", (Rarity)(-1));
			obj.Add("Root-Card  TooSoon (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Simulacrum (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Ouroboros (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Contract (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Cursed_Rune (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Lilith_Deal (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Dark_Queen (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Genie (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Garlic (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Johnson (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Old_Poison (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Partical_Wave (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Quick_Shield (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Anything (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Momentum (Root)", (Rarity)(-1));
			obj.Add("Root-Card  Rejuvenation (Root)", (Rarity)(-1));
			cards = obj;
			List<string> obj2 = new List<string>();
			obj2.Add("Destructible_10_M");
			obj2.Add("Destructible_2_M");
			obj2.Add("Destructible_8_M");
			obj2.Add("Destructible_9_M");
			obj2.Add("Destructible_P6");
			obj2.Add("Grape_Ambience_M");
			obj2.Add("Jumbo_Jam_M");
			obj2.Add("Phys_Bridge_M");
			obj2.Add("Phys_Hang2");
			obj2.Add("Phys_HangTown");
			obj2.Add("Phys_Hang_M");
			obj2.Add("Phys_Ninja");
			obj2.Add("Phys_P4");
			obj2.Add("Phys_RoadBlock");
			obj2.Add("Phys_Saw1");
			obj2.Add("Phys_Sledge_M");
			obj2.Add("Phys_Structure_M");
			obj2.Add("Phys_Temple");
			obj2.Add("Phys_TreeTown");
			obj2.Add("Physics_Canyon_M");
			obj2.Add("Physics_Mix2_M");
			obj2.Add("Physics_Top_M");
			obj2.Add("Polar_Serendipity_M");
			obj2.Add("Balance_M");
			obj2.Add("Bear_M");
			obj2.Add("Bridge_M");
			obj2.Add("Castle_M");
			obj2.Add("City_M");
			obj2.Add("Factory1_M");
			obj2.Add("Flat_M_V2");
			obj2.Add("Grim_Block");
			obj2.Add("MovingParts1_M");
			obj2.Add("MovingParts2_M");
			obj2.Add("NewMap_M");
			obj2.Add("Open_M");
			obj2.Add("Rise_M");
			obj2.Add("Road_M");
			obj2.Add("Rooms_M");
			obj2.Add("Sails_M");
			obj2.Add("Staircase_M_V2");
			obj2.Add("Temple_M_V3");
			obj2.Add("TreeTop_M");
			obj2.Add("Tunnels_M");
			obj2.Add("Welcome_M");
			obj2.Add("Assets/2 Levels/Unused/Destructible_P3.unity");
			obj2.Add("Assets/2 Levels/Unused/Destructible_P4.unity");
			obj2.Add("Assets/2 Levels/Unused/Destructible_P5.unity");
			obj2.Add("Assets/2 Levels/Unused/Diamond_City.unity");
			obj2.Add("Assets/2 Levels/Unused/Hamburgers.unity");
			obj2.Add("Assets/2 Levels/Unused/Phys_Hangig.unity");
			maps = obj2;
			((MonoBehaviour)this).StartCoroutine(ToggleCards());
			((MonoBehaviour)this).StartCoroutine(ToggleLevels());
			List<string> val = new List<string>();
			Enumerator<string, IGameModeHandler> enumerator = GameModeManager.handlers.Keys.GetEnumerator();
			try
			{
				while (enumerator.MoveNext())
				{
					string current = enumerator.Current;
					if (current != "Deathmatch")
					{
						val.Add(current);
					}
				}
			}
			finally
			{
				((IDisposable)enumerator).Dispose();
			}
			Enumerator<string> enumerator2 = val.GetEnumerator();
			try
			{
				while (enumerator2.MoveNext())
				{
					GameModeManager.RemoveHandler(enumerator2.Current);
				}
			}
			finally
			{
				((IDisposable)enumerator2).Dispose();
			}
			GameObject.Find("Game/UI/UI_Game/Canvas/EscapeMenu/SelectionBar").transform.localScale = new Vector3(600f, 92f);
		}));
	}

	private void Update()
	{
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		GameObject.Find("Game/UI/UI_Game/Canvas/EscapeMenu/SelectionBar").transform.localScale = new Vector3(600f, 92f);
		GameObject val = GameObject.Find("Game/UI/UI_Game/Canvas/PrivateRoom/Main/Group/Players/PlayerDisplayBar");
		if ((Object)(object)val != (Object)null)
		{
			Transform transform = val.transform;
			transform.localScale += new Vector3(1000f, 0f, 0f);
		}
		if ((Object)(object)MainMenuLinks.links != (Object)null)
		{
			MainMenuLinks.Links.SetActive(false);
		}
	}

	[IteratorStateMachine(/*Could not decode attribute arguments.*/)]
	private IEnumerator ToggleCards()
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return (IEnumerator)(object)new <ToggleCards>d__9(0);
	}

	[IteratorStateMachine(/*Could not decode attribute arguments.*/)]
	private IEnumerator ToggleLevels()
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return (IEnumerator)(object)new <ToggleLevels>d__10(0);
	}
}
[Serializable]
[HarmonyPatch(/*Could not decode attribute arguments.*/)]
public class PatchToggleText : Object
{
	[Serializable]
	[CompilerGenerated]
	private sealed class <>c : Object
	{
		public static readonly <>c <>9 = new <>c();

		public static UnityAction <>9__0_1;

		public static UnityAction <>9__0_2;

		public static Action <>9__0_0;

		internal void <Postfix>b__0_0()
		{
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Expected O, but got Unknown
			//IL_0134: Unknown result type (might be due to invalid IL or missing references)
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_0173: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Expected O, but got Unknown
			Transform obj = ((Component)MainMenuHandler.instance).transform.Find("Canvas/ListSelector/MODS/Group/Grid/Scroll View/Viewport/Content");
			((TMP_Text)((Component)obj.GetChild(0)).GetComponentInChildren<TextMeshProUGUI>()).text = "View Cards".ToUpper();
			((UnityEventBase)((Component)obj.GetChild(0)).GetComponent<Button>().onClick).RemoveAllListeners();
			ButtonClickedEvent onClick = ((Component)obj.GetChild(0)).GetComponent<Button>().onClick;
			object obj2 = <>9__0_1;
			if (obj2 == null)
			{
				UnityAction val = delegate
				{
					UpdateTogleCards.FixCards();
				};
				<>9__0_1 = val;
				obj2 = (object)val;
			}
			((UnityEvent)onClick).AddListener((UnityAction)obj2);
			((TMP_Text)((Component)obj.GetChild(1)).GetComponentInChildren<TextMeshProUGUI>()).text = "View Maps".ToUpper();
			((UnityEventBase)((Component)obj.GetChild(1)).GetComponent<Button>().onClick).RemoveAllListeners();
			ButtonClickedEvent onClick2 = ((Component)obj.GetChild(1)).GetComponent<Button>().onClick;
			object obj3 = <>9__0_2;
			if (obj3 == null)
			{
				UnityAction val2 = delegate
				{
					UpdateTogleCards.FixLevels();
				};
				<>9__0_2 = val2;
				obj3 = (object)val2;
			}
			((UnityEvent)onClick2).AddListener((UnityAction)obj3);
			Transform transform = ((TMP_Text)Unbound.Instance.text).transform;
			Transform val3 = ((Component)transform).transform.parent.Find("Rounds_Logo2_White");
			Transform val4 = Object.Instantiate<Transform>(val3, val3.parent);
			Object.Destroy((Object)(object)((Component)val4).GetComponent<SpriteRenderer>());
			Object.Destroy((Object)(object)((Component)val4).GetComponent<SpriteMask>());
			val4.SetAsFirstSibling();
			val3.SetAsFirstSibling();
			Vector3 position = transform.position + Vector3.zero;
			transform.position = val3.position;
			transform.parent = val4;
			val3.position = position;
			((Graphic)((Component)transform).GetComponent<TextMeshProUGUI>()).color = new Color(0.523f, 0.196f, 0.369f);
			((TMP_Text)((Component)transform).GetComponent<TextMeshProUGUI>()).text = "<i>Precipice\r\n<size=20>(Beta)";
			((TMP_Text)((Component)transform).GetComponent<TextMeshProUGUI>()).fontSize = 50f;
		}

		internal void <Postfix>b__0_1()
		{
			UpdateTogleCards.FixCards();
		}

		internal void <Postfix>b__0_2()
		{
			UpdateTogleCards.FixLevels();
		}
	}

	public static void Postfix()
	{
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Expected O, but got Unknown
		Unbound instance = Unbound.Instance;
		object obj = <>c.<>9__0_0;
		if (obj == null)
		{
			Action val = delegate
			{
				//IL_006a: Unknown result type (might be due to invalid IL or missing references)
				//IL_006f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0075: Expected O, but got Unknown
				//IL_0134: Unknown result type (might be due to invalid IL or missing references)
				//IL_0139: Unknown result type (might be due to invalid IL or missing references)
				//IL_013e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0143: Unknown result type (might be due to invalid IL or missing references)
				//IL_0146: Unknown result type (might be due to invalid IL or missing references)
				//IL_0158: Unknown result type (might be due to invalid IL or missing references)
				//IL_0173: Unknown result type (might be due to invalid IL or missing references)
				//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00da: Expected O, but got Unknown
				Transform obj2 = ((Component)MainMenuHandler.instance).transform.Find("Canvas/ListSelector/MODS/Group/Grid/Scroll View/Viewport/Content");
				((TMP_Text)((Component)obj2.GetChild(0)).GetComponentInChildren<TextMeshProUGUI>()).text = "View Cards".ToUpper();
				((UnityEventBase)((Component)obj2.GetChild(0)).GetComponent<Button>().onClick).RemoveAllListeners();
				ButtonClickedEvent onClick = ((Component)obj2.GetChild(0)).GetComponent<Button>().onClick;
				object obj3 = <>c.<>9__0_1;
				if (obj3 == null)
				{
					UnityAction val2 = delegate
					{
						UpdateTogleCards.FixCards();
					};
					<>c.<>9__0_1 = val2;
					obj3 = (object)val2;
				}
				((UnityEvent)onClick).AddListener((UnityAction)obj3);
				((TMP_Text)((Component)obj2.GetChild(1)).GetComponentInChildren<TextMeshProUGUI>()).text = "View Maps".ToUpper();
				((UnityEventBase)((Component)obj2.GetChild(1)).GetComponent<Button>().onClick).RemoveAllListeners();
				ButtonClickedEvent onClick2 = ((Component)obj2.GetChild(1)).GetComponent<Button>().onClick;
				object obj4 = <>c.<>9__0_2;
				if (obj4 == null)
				{
					UnityAction val3 = delegate
					{
						UpdateTogleCards.FixLevels();
					};
					<>c.<>9__0_2 = val3;
					obj4 = (object)val3;
				}
				((UnityEvent)onClick2).AddListener((UnityAction)obj4);
				Transform transform2 = ((TMP_Text)Unbound.Instance.text).transform;
				Transform val4 = ((Component)transform2).transform.parent.Find("Rounds_Logo2_White");
				Transform val5 = Object.Instantiate<Transform>(val4, val4.parent);
				Object.Destroy((Object)(object)((Component)val5).GetComponent<SpriteRenderer>());
				Object.Destroy((Object)(object)((Component)val5).GetComponent<SpriteMask>());
				val5.SetAsFirstSibling();
				val4.SetAsFirstSibling();
				Vector3 position = transform2.position + Vector3.zero;
				transform2.position = val4.position;
				transform2.parent = val5;
				val4.position = position;
				((Graphic)((Component)transform2).GetComponent<TextMeshProUGUI>()).color = new Color(0.523f, 0.196f, 0.369f);
				((TMP_Text)((Component)transform2).GetComponent<TextMeshProUGUI>()).text = "<i>Precipice\r\n<size=20>(Beta)";
				((TMP_Text)((Component)transform2).GetComponent<TextMeshProUGUI>()).fontSize = 50f;
			};
			<>c.<>9__0_0 = val;
			obj = (object)val;
		}
		ExtensionMethods.ExecuteAfterFrames((MonoBehaviour)(object)instance, 40, (Action)obj);
		((Component)((Component)MainMenuHandler.instance).transform.Find("Canvas/Particle")).GetComponent<ParticleSystem>().startColor = new Color(0.523f, 0.196f, 0.369f);
		((Component)((Component)MainMenuHandler.instance).transform.Find("Canvas/ListSelector/Main/Group/LOCAL")).gameObject.SetActive(false);
		((TMP_Text)((Component)((Component)MainMenuHandler.instance).transform.Find("Canvas/ListSelector/Main/Group/Online/Text")).GetComponent<TextMeshProUGUI>()).text = "PLAY";
		MainMenuLinks.Links.SetActive(false);
		ModPack.Spawned_background = Object.Instantiate<GameObject>(ModPack.menu_background, ((Component)MainMenuHandler.instance).transform);
		ModPack.Spawned_background.transform.localPosition = Vector3.zero;
		Transform transform = ModPack.Spawned_background.transform;
		transform.localScale *= 1.25f;
	}
}
[Serializable]
[HarmonyPatch(/*Could not decode attribute arguments.*/)]
public class PatchGameMods : Object
{
	public static void Prefix(ref string id)
	{
		if (id != null)
		{
			id = "Deathmatch";
		}
	}
}
[Serializable]
[HarmonyPatch(/*Could not decode attribute arguments.*/)]
public class PatchGameModButton : Object
{
	public static void Postfix()
	{
		PrivateRoomHandler.instance.gameModeButton.SetActive(false);
	}
}
public class UpdateTogleCards : Object
{
	public static bool setupCards;

	public static bool setupLevels;

	public static void FixCards()
	{
		//IL_002f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0129: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b4: Expected O, but got Unknown
		//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
		ToggleCardsMenuHandler.SetActive(ToggleCardsMenuHandler.cardMenuCanvas.transform, true);
		if (setupCards)
		{
			return;
		}
		setupCards = true;
		Enumerator<string, List<GameObject>> enumerator = ToggleCardsMenuHandler.instance.cardObjectsInCategory.Values.GetEnumerator();
		try
		{
			while (enumerator.MoveNext())
			{
				List<GameObject> current = enumerator.Current;
				List<GameObject> val = new List<GameObject>();
				Enumerator<GameObject> enumerator2 = current.GetEnumerator();
				try
				{
					while (enumerator2.MoveNext())
					{
						GameObject current2 = enumerator2.Current;
						if (CardManager.cards[((Object)current2).name].enabled && !((Object)current2).name.Contains("Cake_Toggle"))
						{
							Object.Destroy((Object)(object)current2.GetComponent<Button>());
							try
							{
								current2.GetComponentInChildren<CardInfo>().rarity = CardManager.cards[((Object)current2).name].cardInfo.rarity;
								Enumerator<CardRarityColor> enumerator3 = Enumerable.ToList<CardRarityColor>((IEnumerable<CardRarityColor>)(object)current2.GetComponentsInChildren<CardRarityColor>()).GetEnumerator();
								try
								{
									while (enumerator3.MoveNext())
									{
										enumerator3.Current.Toggle(true);
									}
								}
								finally
								{
									((IDisposable)enumerator3).Dispose();
								}
							}
							catch (Object)
							{
							}
						}
						else
						{
							val.Add(current2);
						}
					}
				}
				finally
				{
					((IDisposable)enumerator2).Dispose();
				}
				enumerator2 = val.GetEnumerator();
				try
				{
					while (enumerator2.MoveNext())
					{
						GameObject current3 = enumerator2.Current;
						ToggleCardsMenuHandler.cardObjs.Remove(current3);
						current.Remove(current3);
						Object.DestroyImmediate((Object)(object)current3);
					}
				}
				finally
				{
					((IDisposable)enumerator2).Dispose();
				}
			}
		}
		finally
		{
			((IDisposable)enumerator).Dispose();
		}
		Transform val3 = (Transform)typeof(ToggleCardsMenuHandler).GetField("categoryContent", (BindingFlags)36).GetValue((object)ToggleCardsMenuHandler.instance);
		Dictionary<string, Transform> val4 = new Dictionary<string, Transform>();
		int childCount = val3.childCount;
		for (int i = 0; i < childCount; i++)
		{
			Transform child = val3.GetChild(i);
			val4.Add(((Object)child).name, child);
		}
		Enumerator<string, Transform> enumerator4 = val4.GetEnumerator();
		try
		{
			while (enumerator4.MoveNext())
			{
				KeyValuePair<string, Transform> current4 = enumerator4.Current;
				Toggle componentInChildren = ((Component)current4.Value).GetComponentInChildren<Toggle>();
				if (componentInChildren != null)
				{
					((Component)componentInChildren).gameObject.SetActive(false);
				}
				if (ToggleCardsMenuHandler.instance.cardObjectsInCategory.ContainsKey(current4.Key) && ToggleCardsMenuHandler.instance.cardObjectsInCategory[current4.Key].Count == 0)
				{
					((Component)current4.Value).gameObject.SetActive(false);
				}
			}
		}
		finally
		{
			((IDisposable)enumerator4).Dispose();
		}
		((Component)ToggleCardsMenuHandler.cardMenuCanvas.transform.Find("CardMenu/Top/ToggleAll")).gameObject.SetActive(false);
		((Component)ToggleCardsMenuHandler.cardMenuCanvas.transform.Find("CardMenu/Top/Help")).gameObject.SetActive(false);
	}

	public static void FixLevels()
	{
		//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)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0120: Unknown result type (might be due to invalid IL or missing references)
		ToggleLevelMenuHandler.instance.SetActive(true);
		if (setupLevels)
		{
			return;
		}
		setupLevels = true;
		List<GameObject> val = new List<GameObject>();
		Enumerator<GameObject> enumerator = ToggleLevelMenuHandler.instance.lvlObjs.GetEnumerator();
		try
		{
			while (enumerator.MoveNext())
			{
				GameObject current = enumerator.Current;
				if (LevelManager.levels[((Object)current).name].enabled)
				{
					Object.Destroy((Object)(object)current.GetComponent<Button>());
				}
				else
				{
					val.Add(current);
				}
			}
		}
		finally
		{
			((IDisposable)enumerator).Dispose();
		}
		enumerator = val.GetEnumerator();
		try
		{
			while (enumerator.MoveNext())
			{
				Object.DestroyImmediate((Object)(object)enumerator.Current);
			}
		}
		finally
		{
			((IDisposable)enumerator).Dispose();
		}
		Transform val2 = (Transform)typeof(ToggleLevelMenuHandler).GetField("categoryContent", (BindingFlags)36).GetValue((object)ToggleLevelMenuHandler.instance);
		Dictionary<string, Transform> val3 = new Dictionary<string, Transform>();
		int childCount = val2.childCount;
		for (int i = 0; i < childCount; i++)
		{
			Transform child = val2.GetChild(i);
			val3.Add(((Object)child).name, child);
		}
		Enumerator<string, Transform> enumerator2 = val3.GetEnumerator();
		try
		{
			while (enumerator2.MoveNext())
			{
				KeyValuePair<string, Transform> current2 = enumerator2.Current;
				Toggle componentInChildren = ((Component)current2.Value).GetComponentInChildren<Toggle>();
				if (componentInChildren != null)
				{
					((Component)componentInChildren).gameObject.SetActive(false);
				}
				if (current2.Key != "Vanilla" && current2.Key != "Default physics")
				{
					((Component)current2.Value).gameObject.SetActive(false);
				}
			}
		}
		finally
		{
			((IDisposable)enumerator2).Dispose();
		}
		((Component)ToggleLevelMenuHandler.instance.mapMenuCanvas.transform.Find("MapMenu/Top/ToggleAll")).gameObject.SetActive(false);
		((Component)ToggleLevelMenuHandler.instance.mapMenuCanvas.transform.Find("MapMenu/Top/Help")).gameObject.SetActive(false);
	}
}
[BepInPlugin("pykess.rounds.plugins.rayhitreflectpatch", "No Hit Reflect Patch", "999999999.999999999.999999999")]
[BepInProcess("Rounds.exe")]
public class DisableBouncePatch : BaseUnityPlugin
{
}
[BepInPlugin("io.olavim.rounds.mapsextended", "No Maps Extended", "999999999.999999999.999999999")]
[BepInProcess("Rounds.exe")]
public class DisableMapsExtendedPatch : BaseUnityPlugin
{
}