using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using GameConsole;
using GameConsole.Commands;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using PluginConfig.API;
using PluginConfig.API.Fields;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("ExitDoorManager")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Allows you to edit where exit doors lead.")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.1")]
[assembly: AssemblyProduct("ExitDoorManager")]
[assembly: AssemblyTitle("ExitDoorManager")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace ExitDoorManager
{
public static class ConfigManager
{
public static string[] Levels = new string[43]
{
"Random Scene", "Random Level", "Level 0-1", "Level 0-2", "Level 0-3", "Level 0-4", "Level 0-5", "Level 0-S", "Level 1-1", "Level 1-2",
"Level 1-3", "Level 1-4", "Level 1-S", "Level 2-1", "Level 2-2", "Level 2-3", "Level 2-4", "Level 2-S", "Level 3-1", "Level 3-2",
"Intermission1", "Level P-1", "Level 4-1", "Level 4-2", "Level 4-3", "Level 4-4", "Level 4-S", "Level 5-1", "Level 5-2", "Level 5-3",
"Level 5-4", "Level 5-S", "Level 6-1", "Level 6-2", "Intermission2", "Level P-2", "Level 7-1", "Level 7-2", "Level 7-3", "Level 7-4",
"Level 7-S", "EarlyAccessEnd", "CreditsMuseum2"
};
public static StringListField exit01;
public static StringListField exit02;
public static StringListField exit02s;
public static StringListField exit03;
public static StringListField exit04;
public static StringListField exit05;
public static StringListField exit0S;
public static StringListField exit11;
public static StringListField exit11s;
public static StringListField exit12;
public static StringListField exit13;
public static StringListField exit14;
public static StringListField exit1S;
public static StringListField exit21;
public static StringListField exit22;
public static StringListField exit23;
public static StringListField exit23s;
public static StringListField exit24;
public static StringListField exit2S;
public static StringListField exit31;
public static StringListField exit31s;
public static StringListField exit32;
public static StringListField exitI1;
public static StringListField exitP1;
public static StringListField exit41;
public static StringListField exit42;
public static StringListField exit42s;
public static StringListField exit43;
public static StringListField exit44;
public static StringListField exit4S;
public static StringListField exit51;
public static StringListField exit51s;
public static StringListField exit52;
public static StringListField exit53;
public static StringListField exit54;
public static StringListField exit5S;
public static StringListField exit61;
public static StringListField exit62;
public static StringListField exit62s;
public static StringListField exitI2;
public static StringListField exitP2;
public static StringListField exit71;
public static StringListField exit72;
public static StringListField exit73;
public static StringListField exit73s;
public static StringListField exit74;
public static StringListField exit7s;
public static PluginConfigurator config;
public static void Initialize()
{
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Expected O, but got Unknown
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Expected O, but got Unknown
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
//IL_00b5: Expected O, but got Unknown
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_00dd: Expected O, but got Unknown
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0105: Expected O, but got Unknown
//IL_0123: Unknown result type (might be due to invalid IL or missing references)
//IL_012d: 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_0173: Unknown result type (might be due to invalid IL or missing references)
//IL_017d: Expected O, but got Unknown
//IL_019b: Unknown result type (might be due to invalid IL or missing references)
//IL_01a5: Expected O, but got Unknown
//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
//IL_01cd: Expected O, but got Unknown
//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
//IL_01f5: Expected O, but got Unknown
//IL_0213: Unknown result type (might be due to invalid IL or missing references)
//IL_021d: Expected O, but got Unknown
//IL_023b: Unknown result type (might be due to invalid IL or missing references)
//IL_0245: Expected O, but got Unknown
//IL_0263: Unknown result type (might be due to invalid IL or missing references)
//IL_026d: Expected O, but got Unknown
//IL_028b: Unknown result type (might be due to invalid IL or missing references)
//IL_0295: Expected O, but got Unknown
//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
//IL_02bd: Expected O, but got Unknown
//IL_02db: Unknown result type (might be due to invalid IL or missing references)
//IL_02e5: Expected O, but got Unknown
//IL_0303: Unknown result type (might be due to invalid IL or missing references)
//IL_030d: Expected O, but got Unknown
//IL_032b: Unknown result type (might be due to invalid IL or missing references)
//IL_0335: Expected O, but got Unknown
//IL_0353: Unknown result type (might be due to invalid IL or missing references)
//IL_035d: Expected O, but got Unknown
//IL_037b: Unknown result type (might be due to invalid IL or missing references)
//IL_0385: Expected O, but got Unknown
//IL_03a3: Unknown result type (might be due to invalid IL or missing references)
//IL_03ad: Expected O, but got Unknown
//IL_03cb: Unknown result type (might be due to invalid IL or missing references)
//IL_03d5: Expected O, but got Unknown
//IL_03f3: Unknown result type (might be due to invalid IL or missing references)
//IL_03fd: Expected O, but got Unknown
//IL_041b: Unknown result type (might be due to invalid IL or missing references)
//IL_0425: Expected O, but got Unknown
//IL_0443: Unknown result type (might be due to invalid IL or missing references)
//IL_044d: Expected O, but got Unknown
//IL_046b: Unknown result type (might be due to invalid IL or missing references)
//IL_0475: Expected O, but got Unknown
//IL_0493: Unknown result type (might be due to invalid IL or missing references)
//IL_049d: Expected O, but got Unknown
//IL_04bb: Unknown result type (might be due to invalid IL or missing references)
//IL_04c5: Expected O, but got Unknown
//IL_04e3: Unknown result type (might be due to invalid IL or missing references)
//IL_04ed: Expected O, but got Unknown
//IL_050b: Unknown result type (might be due to invalid IL or missing references)
//IL_0515: Expected O, but got Unknown
//IL_0533: Unknown result type (might be due to invalid IL or missing references)
//IL_053d: Expected O, but got Unknown
//IL_055b: Unknown result type (might be due to invalid IL or missing references)
//IL_0565: Expected O, but got Unknown
//IL_0583: Unknown result type (might be due to invalid IL or missing references)
//IL_058d: Expected O, but got Unknown
//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
//IL_05b5: Expected O, but got Unknown
//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
//IL_05dd: Expected O, but got Unknown
//IL_05fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0605: Expected O, but got Unknown
//IL_0623: Unknown result type (might be due to invalid IL or missing references)
//IL_062d: Expected O, but got Unknown
//IL_064b: Unknown result type (might be due to invalid IL or missing references)
//IL_0655: 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_069b: Unknown result type (might be due to invalid IL or missing references)
//IL_06a5: Expected O, but got Unknown
//IL_06c3: Unknown result type (might be due to invalid IL or missing references)
//IL_06cd: Expected O, but got Unknown
//IL_06eb: Unknown result type (might be due to invalid IL or missing references)
//IL_06f5: Expected O, but got Unknown
//IL_0713: Unknown result type (might be due to invalid IL or missing references)
//IL_071d: Expected O, but got Unknown
//IL_073b: Unknown result type (might be due to invalid IL or missing references)
//IL_0745: Expected O, but got Unknown
//IL_0763: Unknown result type (might be due to invalid IL or missing references)
//IL_076d: Expected O, but got Unknown
//IL_078b: Unknown result type (might be due to invalid IL or missing references)
//IL_0795: Expected O, but got Unknown
config = PluginConfigurator.Create("Exit Door Manager", "com.earthlingOnFire.ExitDoorManager");
string location = Assembly.GetExecutingAssembly().Location;
string directoryName = Path.GetDirectoryName(location);
config.SetIconWithURL(Path.Combine(directoryName, "icon.png"));
exit01 = new StringListField(config.rootPanel, "0-1 Exit", "exit01", Levels, "Level 0-2");
exit02 = new StringListField(config.rootPanel, "0-2 Exit", "exit02", Levels, "Level 0-3");
exit02s = new StringListField(config.rootPanel, "0-2 Secret Exit", "exit02s", Levels, "Level 0-S");
exit03 = new StringListField(config.rootPanel, "0-3 Exit", "exit03", Levels, "Level 0-4");
exit04 = new StringListField(config.rootPanel, "0-4 Exit", "exit04", Levels, "Level 0-5");
exit05 = new StringListField(config.rootPanel, "0-5 Exit", "exit05", Levels, "Level 1-1");
exit0S = new StringListField(config.rootPanel, "0-S Exit", "exit0S", Levels, "Level 0-3");
exit11 = new StringListField(config.rootPanel, "1-1 Exit", "exit11", Levels, "Level 1-2");
exit11s = new StringListField(config.rootPanel, "1-1 Secret Exit", "exit11s", Levels, "Level 1-S");
exit12 = new StringListField(config.rootPanel, "1-2 Exit", "exit12", Levels, "Level 1-3");
exit13 = new StringListField(config.rootPanel, "1-3 Exit", "exit13", Levels, "Level 1-4");
exit14 = new StringListField(config.rootPanel, "1-4 Exit", "exit14", Levels, "Level 2-1");
exit1S = new StringListField(config.rootPanel, "1-S Exit", "exit1S", Levels, "Level 1-1");
exit21 = new StringListField(config.rootPanel, "2-1 Exit", "exit21", Levels, "Level 2-2");
exit22 = new StringListField(config.rootPanel, "2-2 Exit", "exit22", Levels, "Level 2-3");
exit23 = new StringListField(config.rootPanel, "2-3 Exit", "exit23", Levels, "Level 2-4");
exit23s = new StringListField(config.rootPanel, "2-3 Secret Exit", "exit23s", Levels, "Level 2-S");
exit24 = new StringListField(config.rootPanel, "2-4 Exit", "exit24", Levels, "Level 3-1");
exit2S = new StringListField(config.rootPanel, "2-S Exit", "exit2S", Levels, "Level 2-4");
exit31 = new StringListField(config.rootPanel, "3-1 Exit", "exit31", Levels, "Level 3-2");
exit31s = new StringListField(config.rootPanel, "3-1 Secret Exit", "exit31s", Levels, "Level P-1");
exit32 = new StringListField(config.rootPanel, "3-2 Exit", "exit32", Levels, "Intermission1");
exitI1 = new StringListField(config.rootPanel, "Intermission 1 Exit", "exitI1", Levels, "Level 4-1");
exitP1 = new StringListField(config.rootPanel, "P-1 Exit", "exitP1", Levels, "Level 3-2");
exit41 = new StringListField(config.rootPanel, "4-1 Exit", "exit41", Levels, "Level 4-2");
exit42 = new StringListField(config.rootPanel, "4-2 Exit", "exit42", Levels, "Level 4-3");
exit42s = new StringListField(config.rootPanel, "4-2 Secret Exit", "exit42s", Levels, "Level 4-S");
exit43 = new StringListField(config.rootPanel, "4-3 Exit", "exit43", Levels, "Level 4-4");
exit44 = new StringListField(config.rootPanel, "4-4 Exit", "exit44", Levels, "Level 5-1");
exit4S = new StringListField(config.rootPanel, "4-S Exit", "exit4S", Levels, "Level 4-3");
exit51 = new StringListField(config.rootPanel, "5-1 Exit", "exit51", Levels, "Level 5-2");
exit51s = new StringListField(config.rootPanel, "5-1 Secret Exit", "exit51s", Levels, "Level 5-S");
exit52 = new StringListField(config.rootPanel, "5-2 Exit", "exit52", Levels, "Level 5-3");
exit53 = new StringListField(config.rootPanel, "5-3 Exit", "exit53", Levels, "Level 5-4");
exit54 = new StringListField(config.rootPanel, "5-4 Exit", "exit54", Levels, "Level 6-1");
exit5S = new StringListField(config.rootPanel, "5-S Exit", "exit5S", Levels, "Level 5-2");
exit61 = new StringListField(config.rootPanel, "6-1 Exit", "exit61", Levels, "Level 6-2");
exit62 = new StringListField(config.rootPanel, "6-2 Exit", "exit", Levels, "Intermission2");
exit62s = new StringListField(config.rootPanel, "6-2 Secret Exit", "exit62s", Levels, "Level P-2");
exitI2 = new StringListField(config.rootPanel, "Intermission 2 Exit", "exitI2", Levels, "Level 7-1");
exitP2 = new StringListField(config.rootPanel, "P-2 Exit", "exitP2", Levels, "Level 6-2");
exit71 = new StringListField(config.rootPanel, "7-1 Exit", "exit71", Levels, "Level 7-2");
exit72 = new StringListField(config.rootPanel, "7-2 Exit", "exit72", Levels, "Level 7-3");
exit73 = new StringListField(config.rootPanel, "7-3 Exit", "exit73", Levels, "Level 7-4");
exit73s = new StringListField(config.rootPanel, "7-3 Secret Exit", "exit73s", Levels, "Level 7-S");
exit74 = new StringListField(config.rootPanel, "7-4 Exit", "exit74", Levels, "EarlyAccessEnd");
exit7s = new StringListField(config.rootPanel, "7-S Exit", "exit7s", Levels, "Level 7-4");
}
}
[HarmonyPatch]
public static class Patches
{
private class Exit
{
public string from { get; }
public string to { get; }
public Exit(string fromLevel, string toLevel)
{
from = fromLevel;
to = toLevel;
}
}
private static Random rand = new Random();
[HarmonyPrefix]
[HarmonyPatch(typeof(SceneHelper), "LoadScene")]
private static bool SceneHelper_LoadScene_Prefix(string sceneName, bool noBlocker)
{
Exit exit = new Exit(SceneHelper.CurrentScene, sceneName);
string text = GetNextScene(exit);
if (text == null || text == sceneName)
{
return true;
}
if (text == "Random Scene")
{
string[] array = Array.FindAll(ConfigManager.Levels, (string lvl) => !lvl.StartsWith("Random"));
int num = rand.Next(0, array.Length);
text = array[num];
}
else if (text == "Random Level")
{
string[] array2 = Array.FindAll(ConfigManager.Levels, (string lvl) => lvl.StartsWith("Level"));
int num2 = rand.Next(0, array2.Length);
text = array2[num2];
}
((MonoBehaviour)MonoSingleton<SceneHelper>.Instance).StartCoroutine(MonoSingleton<SceneHelper>.Instance.LoadSceneAsync(text, noBlocker));
return false;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(Scene), "Execute")]
private static bool Scene_Execute_Prefix(Console con, string[] args)
{
if (con.CheatBlocker() || args.Length == 0)
{
return true;
}
string text = string.Join(" ", args);
if (!Debug.isDebugBuild && MonoSingleton<SceneHelper>.Instance.IsSceneSpecial(text))
{
return true;
}
((MonoBehaviour)MonoSingleton<SceneHelper>.Instance).StartCoroutine(MonoSingleton<SceneHelper>.Instance.LoadSceneAsync(text, false));
return false;
}
private static string GetNextScene(Exit exit)
{
if (1 == 0)
{
}
string result;
string to;
if (exit != null)
{
switch (exit.from)
{
case "Level 0-1":
break;
case "Level 0-2":
goto IL_0613;
case "Level 0-3":
goto IL_063f;
case "Level 0-4":
goto IL_065b;
case "Level 0-5":
goto IL_0677;
case "Level 0-S":
goto IL_0693;
case "Level 1-1":
goto IL_06af;
case "Level 1-2":
goto IL_06db;
case "Level 1-3":
goto IL_06f7;
case "Level 1-4":
goto IL_0713;
case "Level 1-S":
goto IL_072f;
case "Level 2-1":
goto IL_074b;
case "Level 2-2":
goto IL_0767;
case "Level 2-3":
goto IL_0783;
case "Level 2-4":
goto IL_07af;
case "Level 2-S":
goto IL_07cb;
case "Level 3-1":
goto IL_07e7;
case "Level 3-2":
goto IL_0813;
case "Intermission1":
goto IL_082f;
case "Level P-1":
goto IL_084b;
case "Level 4-1":
goto IL_0867;
case "Level 4-2":
goto IL_0883;
case "Level 4-3":
goto IL_08af;
case "Level 4-4":
goto IL_08cb;
case "Level 4-S":
goto IL_08e7;
case "Level 5-1":
goto IL_0903;
case "Level 5-2":
goto IL_092f;
case "Level 5-3":
goto IL_094b;
case "Level 5-4":
goto IL_0967;
case "Level 5-S":
goto IL_0983;
case "Level 6-1":
goto IL_099f;
case "Level 6-2":
goto IL_09bb;
case "Intermission2":
goto IL_09e7;
case "Level P-2":
goto IL_0a03;
case "Level 7-1":
goto IL_0a1f;
case "Level 7-2":
goto IL_0a3b;
case "Level 7-3":
goto IL_0a57;
case "Level 7-4":
goto IL_0a83;
case "Level 7-S":
goto IL_0a9f;
default:
goto IL_0d8d;
}
to = exit.to;
if (to == "Level 0-2")
{
result = ConfigManager.exit01.value;
goto IL_0d91;
}
}
goto IL_0d8d;
IL_08af:
to = exit.to;
if (!(to == "Level 4-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit43.value;
goto IL_0d91;
IL_0767:
to = exit.to;
if (!(to == "Level 2-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit22.value;
goto IL_0d91;
IL_0a9f:
to = exit.to;
if (!(to == "Level 7-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit7s.value;
goto IL_0d91;
IL_0693:
to = exit.to;
if (!(to == "Level 0-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit0S.value;
goto IL_0d91;
IL_0a83:
to = exit.to;
if (!(to == "EarlyAccessEnd"))
{
goto IL_0d8d;
}
result = ConfigManager.exit74.value;
goto IL_0d91;
IL_074b:
to = exit.to;
if (!(to == "Level 2-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit21.value;
goto IL_0d91;
IL_0a57:
to = exit.to;
if (!(to == "Level 7-4"))
{
if (!(to == "Level 7-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit73s.value;
}
else
{
result = ConfigManager.exit73.value;
}
goto IL_0d91;
IL_0867:
to = exit.to;
if (!(to == "Level 4-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit41.value;
goto IL_0d91;
IL_084b:
to = exit.to;
if (!(to == "Level 3-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exitP1.value;
goto IL_0d91;
IL_072f:
to = exit.to;
if (!(to == "Level 1-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit1S.value;
goto IL_0d91;
IL_0a3b:
to = exit.to;
if (!(to == "Level 7-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit72.value;
goto IL_0d91;
IL_0677:
to = exit.to;
if (!(to == "Level 1-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit05.value;
goto IL_0d91;
IL_0a1f:
to = exit.to;
if (!(to == "Level 7-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit71.value;
goto IL_0d91;
IL_082f:
to = exit.to;
if (!(to == "Level 4-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exitI1.value;
goto IL_0d91;
IL_0a03:
to = exit.to;
if (!(to == "Level 6-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exitP2.value;
goto IL_0d91;
IL_0713:
to = exit.to;
if (!(to == "Level 2-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit14.value;
goto IL_0d91;
IL_09e7:
to = exit.to;
if (!(to == "Level 7-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exitI2.value;
goto IL_0d91;
IL_0813:
to = exit.to;
if (!(to == "Intermission1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit32.value;
goto IL_0d91;
IL_09bb:
to = exit.to;
if (!(to == "Intermission2"))
{
if (!(to == "Level P-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit62s.value;
}
else
{
result = ConfigManager.exit62.value;
}
goto IL_0d91;
IL_0d91:
if (1 == 0)
{
}
return result;
IL_06f7:
to = exit.to;
if (!(to == "Level 1-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit13.value;
goto IL_0d91;
IL_07e7:
to = exit.to;
if (!(to == "Level 3-2"))
{
if (!(to == "Level P-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit31s.value;
}
else
{
result = ConfigManager.exit31.value;
}
goto IL_0d91;
IL_099f:
to = exit.to;
if (!(to == "Level 6-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit61.value;
goto IL_0d91;
IL_06db:
to = exit.to;
if (!(to == "Level 1-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit12.value;
goto IL_0d91;
IL_0983:
to = exit.to;
if (!(to == "Level 5-2"))
{
goto IL_0d8d;
}
result = ConfigManager.exit5S.value;
goto IL_0d91;
IL_065b:
to = exit.to;
if (!(to == "Level 0-5"))
{
goto IL_0d8d;
}
result = ConfigManager.exit04.value;
goto IL_0d91;
IL_0967:
to = exit.to;
if (!(to == "Level 6-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit54.value;
goto IL_0d91;
IL_07cb:
to = exit.to;
if (!(to == "Level 2-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit2S.value;
goto IL_0d91;
IL_094b:
to = exit.to;
if (!(to == "Level 5-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit53.value;
goto IL_0d91;
IL_0d8d:
result = null;
goto IL_0d91;
IL_092f:
to = exit.to;
if (!(to == "Level 5-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit52.value;
goto IL_0d91;
IL_07af:
to = exit.to;
if (!(to == "Level 3-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit24.value;
goto IL_0d91;
IL_0903:
to = exit.to;
if (!(to == "Level 5-2"))
{
if (!(to == "Level 5-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit51s.value;
}
else
{
result = ConfigManager.exit51.value;
}
goto IL_0d91;
IL_06af:
to = exit.to;
if (!(to == "Level 1-2"))
{
if (!(to == "Level 1-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit11s.value;
}
else
{
result = ConfigManager.exit11.value;
}
goto IL_0d91;
IL_063f:
to = exit.to;
if (!(to == "Level 0-4"))
{
goto IL_0d8d;
}
result = ConfigManager.exit03.value;
goto IL_0d91;
IL_0783:
to = exit.to;
if (!(to == "Level 2-4"))
{
if (!(to == "Level 2-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit23s.value;
}
else
{
result = ConfigManager.exit23.value;
}
goto IL_0d91;
IL_08e7:
to = exit.to;
if (!(to == "Level 4-3"))
{
goto IL_0d8d;
}
result = ConfigManager.exit4S.value;
goto IL_0d91;
IL_0883:
to = exit.to;
if (!(to == "Level 4-3"))
{
if (!(to == "Level 4-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit42s.value;
}
else
{
result = ConfigManager.exit42.value;
}
goto IL_0d91;
IL_08cb:
to = exit.to;
if (!(to == "Level 5-1"))
{
goto IL_0d8d;
}
result = ConfigManager.exit44.value;
goto IL_0d91;
IL_0613:
to = exit.to;
if (!(to == "Level 0-3"))
{
if (!(to == "Level 0-S"))
{
goto IL_0d8d;
}
result = ConfigManager.exit02s.value;
}
else
{
result = ConfigManager.exit02.value;
}
goto IL_0d91;
}
}
[BepInPlugin("com.earthlingOnFire.ExitDoorManager", "Exit Door Manager", "1.0.1")]
public class Plugin : BaseUnityPlugin
{
public const string PLUGIN_GUID = "com.earthlingOnFire.ExitDoorManager";
public const string PLUGIN_NAME = "Exit Door Manager";
public const string PLUGIN_VERSION = "1.0.1";
private void Start()
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
new Harmony("com.earthlingOnFire.ExitDoorManager").PatchAll();
}
private void Awake()
{
ConfigManager.Initialize();
}
}
public static class PluginInfo
{
public const string PLUGIN_GUID = "ExitDoorManager";
public const string PLUGIN_NAME = "ExitDoorManager";
public const string PLUGIN_VERSION = "1.0.1";
}
}
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
internal sealed class IgnoresAccessChecksToAttribute : Attribute
{
internal IgnoresAccessChecksToAttribute(string assemblyName)
{
}
}
}