Decompiled source of InGameJoinFix v0.0.1

InGameJoinFix.dll

Decompiled 2 weeks ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AIGraph;
using AK;
using BepInEx;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using BepInEx.Unity.IL2CPP.Utils.Collections;
using CellMenu;
using GameData;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using LevelGeneration;
using Microsoft.CodeAnalysis;
using Player;
using SNetwork;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("InGameJoinFix")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("InGameJoinFix")]
[assembly: AssemblyTitle("InGameJoinFix")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
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 InGameJoinFix
{
	[BepInPlugin("com.hirnukuono.InGameJoinFix", "InGameJoinFix", "0.0.1")]
	public class Plugin : BasePlugin
	{
		public class InGameJoinFix : MonoBehaviour
		{
			[CompilerGenerated]
			private sealed class <MapStuff>d__1 : IEnumerator<object>, IDisposable, IEnumerator
			{
				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 <MapStuff>d__1(int <>1__state)
				{
					this.<>1__state = <>1__state;
				}

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

				private bool MoveNext()
				{
					//IL_001d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0027: Expected O, but got Unknown
					//IL_0037: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: 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_005b: Unknown result type (might be due to invalid IL or missing references)
					//IL_0070: Unknown result type (might be due to invalid IL or missing references)
					//IL_0755: Unknown result type (might be due to invalid IL or missing references)
					//IL_075a: Unknown result type (might be due to invalid IL or missing references)
					//IL_075c: Unknown result type (might be due to invalid IL or missing references)
					//IL_075e: Unknown result type (might be due to invalid IL or missing references)
					//IL_0765: Invalid comparison between Unknown and I4
					//IL_0767: Unknown result type (might be due to invalid IL or missing references)
					//IL_0769: Unknown result type (might be due to invalid IL or missing references)
					//IL_0770: Invalid comparison between Unknown and I4
					//IL_0778: Unknown result type (might be due to invalid IL or missing references)
					//IL_077d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0792: Unknown result type (might be due to invalid IL or missing references)
					//IL_07aa: Unknown result type (might be due to invalid IL or missing references)
					//IL_07b7: Unknown result type (might be due to invalid IL or missing references)
					//IL_0ee6: Unknown result type (might be due to invalid IL or missing references)
					//IL_0eed: Invalid comparison between Unknown and I4
					//IL_0f03: Unknown result type (might be due to invalid IL or missing references)
					//IL_0f08: Unknown result type (might be due to invalid IL or missing references)
					//IL_0f1d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0f35: Unknown result type (might be due to invalid IL or missing references)
					//IL_0f42: 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;
						GameObject val = new GameObject();
						val.transform.localScale = new Vector3(128f, 32f, 128f);
						val.transform.position = new Vector3(0f, 2f, 20f);
						MapDetails.AddVisiblityCone(val.transform, (VisibilityLayer)0);
						PlayerAgent localPlayer = PlayerBackpackManager.Current.m_localPlayer;
						try
						{
							foreach (LG_SignMapLookatRevealer componentsInChild in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_SignMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ResourceLockerMapLookatRevealer componentsInChild2 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_ResourceLockerMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild2).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild2).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ResourceBoxMapLookatRevealer componentsInChild3 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_ResourceBoxMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild3).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild3).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ComputerTerminalMapLookatRevealer componentsInChild4 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_ComputerTerminalMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild4).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild4).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_PowerGeneratorMapLookatRevealer componentsInChild5 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_PowerGeneratorMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild5).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild5).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_BulkheadDoorControllerLookatRevealer componentsInChild6 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_BulkheadDoorControllerLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild6).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild6).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_LadderMapLookatRevealer componentsInChild7 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[0]).GetComponentsInChildren<LG_LadderMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild7).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild7).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_SignMapLookatRevealer componentsInChild8 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_SignMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild8).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild8).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ResourceLockerMapLookatRevealer componentsInChild9 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_ResourceLockerMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild9).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild9).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ResourceBoxMapLookatRevealer componentsInChild10 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_ResourceBoxMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild10).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild10).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_ComputerTerminalMapLookatRevealer componentsInChild11 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_ComputerTerminalMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild11).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild11).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_PowerGeneratorMapLookatRevealer componentsInChild12 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_PowerGeneratorMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild12).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild12).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_BulkheadDoorControllerLookatRevealer componentsInChild13 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_BulkheadDoorControllerLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild13).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild13).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						try
						{
							foreach (LG_LadderMapLookatRevealer componentsInChild14 in ((Component)Builder.CurrentFloor.allZones[0].m_areas[1]).GetComponentsInChildren<LG_LadderMapLookatRevealer>(true))
							{
								((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild14).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
								((LG_MapLookatRevealerBase)componentsInChild14).OnReveal(localPlayer);
							}
						}
						catch
						{
						}
						Enumerator<AIG_CourseNode> enumerator8 = AIG_CourseNode.s_allNodes.GetEnumerator();
						while (enumerator8.MoveNext())
						{
							AIG_CourseNode current15 = enumerator8.Current;
							foreach (LG_WeakDoor componentsInChild15 in ((Component)current15.m_area).GetComponentsInChildren<LG_WeakDoor>(true))
							{
								pDoorState currentSyncState = componentsInChild15.m_sync.GetCurrentSyncState();
								if (!(((int)currentSyncState.status == 10) | ((int)currentSyncState.status == 11)))
								{
									continue;
								}
								GameObject val2 = new GameObject();
								val2.transform.localScale = new Vector3(128f, 32f, 128f);
								LG_AreaAIGraphSource graphSource = current15.m_area.GraphSource;
								val2.transform.position = ((Component)graphSource).transform.position;
								MapDetails.AddVisiblityCone(val2.transform, (VisibilityLayer)0);
								LG_Area linksFrom = ((LG_ZoneExpander)componentsInChild15.Gate).m_linksFrom;
								try
								{
									foreach (LG_DoorMapLookatRevealer componentsInChild16 in ((Component)linksFrom).GetComponentsInChildren<LG_DoorMapLookatRevealer>())
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild16).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild16).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_SignMapLookatRevealer componentsInChild17 in ((Component)linksFrom).GetComponentsInChildren<LG_SignMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild17).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild17).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ResourceLockerMapLookatRevealer componentsInChild18 in ((Component)linksFrom).GetComponentsInChildren<LG_ResourceLockerMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild18).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild18).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ResourceBoxMapLookatRevealer componentsInChild19 in ((Component)linksFrom).GetComponentsInChildren<LG_ResourceBoxMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild19).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild19).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ComputerTerminalMapLookatRevealer componentsInChild20 in ((Component)linksFrom).GetComponentsInChildren<LG_ComputerTerminalMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild20).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild20).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_PowerGeneratorMapLookatRevealer componentsInChild21 in ((Component)linksFrom).GetComponentsInChildren<LG_PowerGeneratorMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild21).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild21).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_BulkheadDoorControllerLookatRevealer componentsInChild22 in ((Component)linksFrom).GetComponentsInChildren<LG_BulkheadDoorControllerLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild22).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild22).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_DisinfectionStationMapLookatRevealer componentsInChild23 in ((Component)linksFrom).GetComponentsInChildren<LG_DisinfectionStationMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild23).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild23).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_LadderMapLookatRevealer componentsInChild24 in ((Component)linksFrom).GetComponentsInChildren<LG_LadderMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild24).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild24).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								LG_Area linksTo = ((LG_ZoneExpander)componentsInChild15.Gate).m_linksTo;
								try
								{
									foreach (LG_DoorMapLookatRevealer componentsInChild25 in ((Component)linksTo).GetComponentsInChildren<LG_DoorMapLookatRevealer>())
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild25).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild25).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_SignMapLookatRevealer componentsInChild26 in ((Component)linksTo).GetComponentsInChildren<LG_SignMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild26).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild26).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ResourceLockerMapLookatRevealer componentsInChild27 in ((Component)linksTo).GetComponentsInChildren<LG_ResourceLockerMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild27).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild27).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ResourceBoxMapLookatRevealer componentsInChild28 in ((Component)linksTo).GetComponentsInChildren<LG_ResourceBoxMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild28).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild28).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_ComputerTerminalMapLookatRevealer componentsInChild29 in ((Component)linksTo).GetComponentsInChildren<LG_ComputerTerminalMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild29).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild29).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_PowerGeneratorMapLookatRevealer componentsInChild30 in ((Component)linksTo).GetComponentsInChildren<LG_PowerGeneratorMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild30).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild30).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_BulkheadDoorControllerLookatRevealer componentsInChild31 in ((Component)linksTo).GetComponentsInChildren<LG_BulkheadDoorControllerLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild31).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild31).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_DisinfectionStationMapLookatRevealer componentsInChild32 in ((Component)linksTo).GetComponentsInChildren<LG_DisinfectionStationMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild32).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild32).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
								try
								{
									foreach (LG_LadderMapLookatRevealer componentsInChild33 in ((Component)linksTo).GetComponentsInChildren<LG_LadderMapLookatRevealer>(true))
									{
										((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild33).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
										((LG_MapLookatRevealerBase)componentsInChild33).OnReveal(localPlayer);
									}
								}
								catch
								{
								}
							}
						}
						Enumerator<LG_Zone> enumerator12 = Builder.CurrentFloor.allZones.GetEnumerator();
						while (enumerator12.MoveNext())
						{
							LG_Gate sourceGate = enumerator12.Current.m_sourceGate;
							if ((Object)(object)sourceGate == (Object)null || (int)sourceGate.SpawnedDoor.LastStatus != 10)
							{
								continue;
							}
							((Il2CppObjectBase)sourceGate).TryCast<LG_SecurityDoor>();
							LG_Area linksFrom2 = ((LG_ZoneExpander)sourceGate).m_linksFrom;
							GameObject val3 = new GameObject();
							val3.transform.localScale = new Vector3(128f, 32f, 128f);
							LG_AreaAIGraphSource graphSource2 = ((LG_ZoneExpander)sourceGate).m_linksFrom.GraphSource;
							val3.transform.position = ((Component)graphSource2).transform.position;
							MapDetails.AddVisiblityCone(val3.transform, (VisibilityLayer)0);
							try
							{
								foreach (LG_DoorMapLookatRevealer componentsInChild34 in ((Component)linksFrom2).GetComponentsInChildren<LG_DoorMapLookatRevealer>())
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild34).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild34).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_SignMapLookatRevealer componentsInChild35 in ((Component)linksFrom2).GetComponentsInChildren<LG_SignMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild35).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild35).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_ResourceLockerMapLookatRevealer componentsInChild36 in ((Component)linksFrom2).GetComponentsInChildren<LG_ResourceLockerMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild36).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild36).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_ResourceBoxMapLookatRevealer componentsInChild37 in ((Component)linksFrom2).GetComponentsInChildren<LG_ResourceBoxMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild37).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild37).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_ComputerTerminalMapLookatRevealer componentsInChild38 in ((Component)linksFrom2).GetComponentsInChildren<LG_ComputerTerminalMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild38).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild38).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_PowerGeneratorMapLookatRevealer componentsInChild39 in ((Component)linksFrom2).GetComponentsInChildren<LG_PowerGeneratorMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild39).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild39).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_BulkheadDoorControllerLookatRevealer componentsInChild40 in ((Component)linksFrom2).GetComponentsInChildren<LG_BulkheadDoorControllerLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild40).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild40).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_DisinfectionStationMapLookatRevealer componentsInChild41 in ((Component)linksFrom2).GetComponentsInChildren<LG_DisinfectionStationMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild41).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild41).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
							try
							{
								foreach (LG_LadderMapLookatRevealer componentsInChild42 in ((Component)linksFrom2).GetComponentsInChildren<LG_LadderMapLookatRevealer>(true))
								{
									((Il2CppObjectBase)MapDataManager.Current.m_syncedGUIObjects[((LG_MapLookatRevealerBase)componentsInChild42).MapGUIObjID]).TryCast<CM_SyncedGUIItem>().ForceVisible();
									((LG_MapLookatRevealerBase)componentsInChild42).OnReveal(localPlayer);
								}
							}
							catch
							{
							}
						}
						L.LogInfo((object)"map revealed per doors open or destroyed");
						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();
				}
			}

			public static void OnExpeditionGamePlayStarted()
			{
				//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Invalid comparison between Unknown and I4
				//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d0: Invalid comparison between Unknown and I4
				//IL_00df: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e6: Invalid comparison between Unknown and I4
				if (SNet.IsMaster || Clock.ExpeditionProgressionTime < 120f)
				{
					return;
				}
				bool flag = false;
				bool flag2 = false;
				L.LogInfo((object)"ambient alarm checker running...");
				Enumerator<LG_Zone> enumerator = Builder.CurrentFloor.allZones.GetEnumerator();
				while (enumerator.MoveNext())
				{
					LG_Zone current = enumerator.Current;
					if ((Object)(object)current.m_sourceGate == (Object)null || current.m_sourceGate.SpawnedDoor == null || current.m_settings == null || current.m_settings.m_zoneData == null)
					{
						continue;
					}
					ChainedPuzzleDataBlock block = GameDataBlockBase<ChainedPuzzleDataBlock>.GetBlock(current.m_settings.m_zoneData.ChainedPuzzleToEnter);
					if (block != null && block.TriggerAlarmOnActivate && !block.DisableSurvivalWaveOnComplete)
					{
						flag = true;
						if ((int)current.m_sourceGate.SpawnedDoor.LastStatus == 8)
						{
							flag2 = true;
						}
						if ((int)current.m_sourceGate.SpawnedDoor.LastStatus == 9)
						{
							flag2 = true;
						}
						if ((int)current.m_sourceGate.SpawnedDoor.LastStatus == 10)
						{
							flag2 = true;
						}
					}
				}
				Enumerator<LG_LayerType, WardenObjectiveDataBlock> enumerator2 = WardenObjectiveManager.Current.m_activeWardenObjectives.GetEnumerator();
				while (enumerator2.MoveNext())
				{
					KeyValuePair<LG_LayerType, WardenObjectiveDataBlock> current2 = enumerator2.Current;
					if (current2.Value.EventsOnElevatorLand.Count > 0)
					{
						Enumerator<WardenObjectiveEventData> enumerator3 = current2.Value.EventsOnElevatorLand.GetEnumerator();
						while (enumerator3.MoveNext())
						{
							if (enumerator3.Current.EnemyWaveData.TriggerAlarm)
							{
								flag2 = true;
							}
						}
					}
					if (current2.Value.WavesOnElevatorLand.Count <= 0)
					{
						continue;
					}
					Enumerator<GenericEnemyWaveData> enumerator4 = current2.Value.WavesOnElevatorLand.GetEnumerator();
					while (enumerator4.MoveNext())
					{
						if (enumerator4.Current.TriggerAlarm)
						{
							flag2 = true;
						}
					}
				}
				if (!flag2 && flag)
				{
					ElevatorShaftLanding.Current.m_sound.Post(EVENTS.ALARM_AMBIENT_STOP, true);
					L.LogInfo((object)"ambient alarm sound stopped, no need for one");
				}
				CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(MapStuff()), (Action)null);
			}

			[IteratorStateMachine(typeof(<MapStuff>d__1))]
			private static IEnumerator MapStuff()
			{
				//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
				return new <MapStuff>d__1(0);
			}
		}

		internal static ManualLogSource L;

		internal static List<int> visitednodes = new List<int>();

		public override void Load()
		{
			L = ((BasePlugin)this).Log;
			RundownManager.OnExpeditionGameplayStarted += Action.op_Implicit((Action)InGameJoinFix.OnExpeditionGamePlayStarted);
		}
	}
	[GeneratedCode("VersionInfoGenerator", "2.0.0+git50a4b1a-master")]
	[CompilerGenerated]
	internal static class VersionInfo
	{
		public const string RootNamespace = "InGameJoinFix";

		public const string Version = "1.0.0";

		public const string VersionPrerelease = null;

		public const string VersionMetadata = null;

		public const string SemVer = "1.0.0";

		public const string GitRevShort = null;

		public const string GitRevLong = null;

		public const string GitBranch = null;

		public const string GitTag = null;

		public const bool GitIsDirty = false;
	}
}