using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using .$Mirage.Compatibility; using BepInEx.Bootstrap; using BepInEx.Configuration; using LethalConfig; using LethalConfig.AutoConfig; using LethalConfig.ConfigItems; using LethalSettings; using LethalSettings.UI; using LethalSettings.UI.Components; using LobbyCompatibility.Enums; using LobbyCompatibility.Features; using Microsoft.FSharp.Collections; using Microsoft.FSharp.Control; using Microsoft.FSharp.Core; using On.LethalSettings.UI; using UnityEngine; [assembly: FSharpInterfaceDataVersion(2, 0, 0)] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("com.olegknyazev.softmask")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("DunGen")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.ASPP")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.UnityNav")] [assembly: IgnoresAccessChecksTo("EasyTextEffects")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("LethalConfig")] [assembly: IgnoresAccessChecksTo("LethalSettings")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Components")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.XR.CoreUtils")] [assembly: IgnoresAccessChecksTo("Unity.XR.Management")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MetaQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.OculusQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.RuntimeDebugger")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpatialTracking")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("UnityEngine.XR.LegacyInputHelpers")] [assembly: AssemblyCompany("Mirage.Compatibility")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+b678040b73b05cff93508fa92e44b83f62cc77c0")] [assembly: AssemblyProduct("Mirage.Compatibility")] [assembly: AssemblyTitle("Mirage.Compatibility")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class AssemblyInfo { } namespace { internal static class $AssemblyInfo { } } namespace Mirage.Compatibility { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class Main { [Serializable] internal sealed class initGeneralLethalConfig@27 : FSharpFunc { public Assembly assembly; public ConfigFile configFile; [CompilerGenerated] [DebuggerNonUserCode] internal initGeneralLethalConfig@27(Assembly assembly, ConfigFile configFile) { this.assembly = assembly; this.configFile = configFile; } public override Unit Invoke(Unit unitVar) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) List customConfigFiles = LethalConfigManager.CustomConfigFiles; ConfigFileAssemblyPair item = default(ConfigFileAssemblyPair); ((ConfigFileAssemblyPair)(ref item)).ConfigFile = configFile; ((ConfigFileAssemblyPair)(ref item)).Assembly = assembly; customConfigFiles.Add(item); return null; } } [Serializable] internal sealed class initEnemiesLethalConfig@38 : FSharpFunc { public Assembly assembly; public FSharpList> enemies; [CompilerGenerated] [DebuggerNonUserCode] internal initEnemiesLethalConfig@38(Assembly assembly, FSharpList> enemies) { this.assembly = assembly; this.enemies = enemies; } public override Unit Invoke(Unit unitVar) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown enemiesInitialized = enemies.TailOrNull != null; FSharpList> val = enemies; for (FSharpList> tailOrNull = val.TailOrNull; tailOrNull != null; tailOrNull = val.TailOrNull) { ConfigEntry headOrDefault = val.HeadOrDefault; BoolCheckBoxConfigItem val2 = new BoolCheckBoxConfigItem(headOrDefault); bool flag = LethalConfigManager.AddConfigItemForAssembly((BaseConfigItem)(object)val2, assembly); val = tailOrNull; } return null; } } [Serializable] internal sealed class initLobbyCompatibility@47 : FSharpFunc { public string pluginName; public string pluginVersion; [CompilerGenerated] [DebuggerNonUserCode] internal initLobbyCompatibility@47(string pluginName, string pluginVersion) { this.pluginName = pluginName; this.pluginVersion = pluginVersion; } public override Unit Invoke(Unit unitVar) { PluginHelper.RegisterPlugin(pluginName, Version.Parse(pluginVersion), (CompatibilityLevel)2, (VersionStrictness)2); return null; } } [Serializable] [CompilationMapping(/*Could not decode attribute arguments.*/)] public sealed class LethalSettingsArgs { [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginName@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginId@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal string pluginVersion@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc getLocalPlayerVolume@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc setLocalPlayerVolume@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc getNeverDeleteRecordings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc setNeverDeleteRecordings@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc getAllowRecordVoice@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc setAllowRecordVoice@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc getMuteVoiceMimic@; [CompilerGenerated] [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal FSharpFunc setMuteVoiceMimic@; [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginName { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginName@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginId { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginId@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public string pluginVersion { [CompilerGenerated] [DebuggerNonUserCode] get { return pluginVersion@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc getLocalPlayerVolume { [CompilerGenerated] [DebuggerNonUserCode] get { return getLocalPlayerVolume@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc setLocalPlayerVolume { [CompilerGenerated] [DebuggerNonUserCode] get { return setLocalPlayerVolume@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc getNeverDeleteRecordings { [CompilerGenerated] [DebuggerNonUserCode] get { return getNeverDeleteRecordings@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc setNeverDeleteRecordings { [CompilerGenerated] [DebuggerNonUserCode] get { return setNeverDeleteRecordings@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc getAllowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return getAllowRecordVoice@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc setAllowRecordVoice { [CompilerGenerated] [DebuggerNonUserCode] get { return setAllowRecordVoice@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc getMuteVoiceMimic { [CompilerGenerated] [DebuggerNonUserCode] get { return getMuteVoiceMimic@; } } [CompilationMapping(/*Could not decode attribute arguments.*/)] public FSharpFunc setMuteVoiceMimic { [CompilerGenerated] [DebuggerNonUserCode] get { return setMuteVoiceMimic@; } } [DynamicDependency(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields | DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties, typeof(LethalSettingsArgs))] public LethalSettingsArgs(string pluginName, string pluginId, string pluginVersion, FSharpFunc getLocalPlayerVolume, FSharpFunc setLocalPlayerVolume, FSharpFunc getNeverDeleteRecordings, FSharpFunc setNeverDeleteRecordings, FSharpFunc getAllowRecordVoice, FSharpFunc setAllowRecordVoice, FSharpFunc getMuteVoiceMimic, FSharpFunc setMuteVoiceMimic) { pluginName@ = pluginName; pluginId@ = pluginId; pluginVersion@ = pluginVersion; getLocalPlayerVolume@ = getLocalPlayerVolume; setLocalPlayerVolume@ = setLocalPlayerVolume; getNeverDeleteRecordings@ = getNeverDeleteRecordings; setNeverDeleteRecordings@ = setNeverDeleteRecordings; getAllowRecordVoice@ = getAllowRecordVoice; setAllowRecordVoice@ = setAllowRecordVoice; getMuteVoiceMimic@ = getMuteVoiceMimic; setMuteVoiceMimic@ = setMuteVoiceMimic; } [CompilerGenerated] public override string ToString() { return ExtraTopLevelOperators.PrintFormatToString>((PrintfFormat, Unit, string, string>)(object)new PrintfFormat, Unit, string, string, LethalSettingsArgs>("%+A")).Invoke(this); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class initLethalSettings@85-1 { public LethalSettingsArgs settings; public initLethalSettings@85-1(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(SliderComponent _arg1, float value) { settings.setLocalPlayerVolume@.Invoke(value); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class initLethalSettings@90-2 { public LethalSettingsArgs settings; public initLethalSettings@90-2(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(ToggleComponent _arg2, bool value) { settings.setNeverDeleteRecordings@.Invoke(value); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class initLethalSettings@95-3 { public LethalSettingsArgs settings; public initLethalSettings@95-3(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(ToggleComponent _arg3, bool value) { settings.setAllowRecordVoice@.Invoke(value); } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal sealed class initLethalSettings@100-4 { public LethalSettingsArgs settings; public initLethalSettings@100-4(LethalSettingsArgs settings) { this.settings = settings; base..ctor(); } internal void Invoke(ToggleComponent _arg4, bool value) { settings.setMuteVoiceMimic@.Invoke(value); } } [Serializable] internal sealed class initLethalSettings@72 : FSharpFunc { public LethalSettingsArgs settings; [CompilerGenerated] [DebuggerNonUserCode] internal initLethalSettings@72(LethalSettingsArgs settings) { this.settings = settings; } public override Unit Invoke(Unit unitVar) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Expected O, but got Unknown //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Expected O, but got Unknown //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Expected O, but got Unknown //IL_0192: Unknown result type (might be due to invalid IL or missing references) LethalSettings.fixLethalSettings(); ModSettingsConfig val = new ModSettingsConfig(); val.Name = settings.pluginName@; val.Id = settings.pluginId@; val.Version = settings.pluginVersion@; val.Description = "The preferences below only affect yourself. These values are not synced from the host."; MenuComponent[] array = new MenuComponent[4]; SliderComponent val2 = new SliderComponent(); val2.Value = settings.getLocalPlayerVolume@.Invoke((Unit)null); val2.MinValue = 0f; val2.MaxValue = 100f; val2.Text = "Volume when a monster is mimicking your own voice:"; val2.OnValueChanged = new initLethalSettings@85-1(settings).Invoke; array[0] = (MenuComponent)val2; ToggleComponent val3 = new ToggleComponent(); val3.Text = "Never delete recordings"; val3.Value = settings.getNeverDeleteRecordings@.Invoke((Unit)null); val3.OnValueChanged = new initLethalSettings@90-2(settings).Invoke; array[1] = (MenuComponent)val3; val3 = new ToggleComponent(); val3.Text = "Allow record voice"; val3.Value = settings.getAllowRecordVoice@.Invoke((Unit)null); val3.OnValueChanged = new initLethalSettings@95-3(settings).Invoke; array[2] = (MenuComponent)val3; val3 = new ToggleComponent(); val3.Text = "Mute voice mimic"; val3.Value = settings.getMuteVoiceMimic@.Invoke((Unit)null); val3.OnValueChanged = new initLethalSettings@100-4(settings).Invoke; array[3] = (MenuComponent)val3; val.MenuComponents = (MenuComponent[])(object)array; ModMenu.RegisterMod(val, true, true); return null; } } [Literal] [DebuggerBrowsable(DebuggerBrowsableState.Never)] public const string LethalIntelligenceModId = "VirusTLNR.LethalIntelligence"; [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static bool enemiesInitialized { get { return .$Mirage.Compatibility.Main.enemiesInitialized@35; } set { .$Mirage.Compatibility.Main.enemiesInitialized@35 = value; } } public static bool isLethalIntelligenceLoaded() { return Chainloader.PluginInfos.ContainsKey("VirusTLNR.LethalIntelligence"); } [CompilationArgumentCounts(new int[] { 1, 1 })] public static void initGeneralLethalConfig(Assembly assembly, ConfigFile configFile) { if (Chainloader.PluginInfos.ContainsKey("ainavt.lc.lethalconfig")) { _ = LazyExtensions.Create((FSharpFunc)new initGeneralLethalConfig@27(assembly, configFile)).Value; } } [CompilationArgumentCounts(new int[] { 1, 1 })] public static void initEnemiesLethalConfig(Assembly assembly, FSharpList> enemies) { if (Chainloader.PluginInfos.ContainsKey("ainavt.lc.lethalconfig") && !enemiesInitialized) { _ = LazyExtensions.Create((FSharpFunc)new initEnemiesLethalConfig@38(assembly, enemies)).Value; } } [CompilationArgumentCounts(new int[] { 1, 1 })] public static void initLobbyCompatibility(string pluginName, string pluginVersion) { if (Chainloader.PluginInfos.ContainsKey("BMX.LobbyCompatibility")) { _ = LazyExtensions.Create((FSharpFunc)new initLobbyCompatibility@47(pluginName, pluginVersion)).Value; } } public static void initLethalSettings(LethalSettingsArgs settings) { if (Chainloader.PluginInfos.ContainsKey("com.willis.lc.lethalsettings")) { _ = LazyExtensions.Create((FSharpFunc)new initLethalSettings@72(settings)).Value; } } static Main() { .$Mirage.Compatibility.Main.init@ = 0; _ = .$Mirage.Compatibility.Main.init@; } } } namespace .$Mirage.Compatibility { internal static class Main { [DebuggerBrowsable(DebuggerBrowsableState.Never)] internal static bool enemiesInitialized@35; [DebuggerBrowsable(DebuggerBrowsableState.Never)] [CompilerGenerated] [DebuggerNonUserCode] internal static int init@; static Main() { enemiesInitialized@35 = false; } } } namespace Mirage.Compatibility { [CompilationMapping(/*Could not decode attribute arguments.*/)] public static class LethalSettings { [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class fixLethalSettings@14 { internal static void Invoke(orig_BuildMod orig, ModMenu self, ModSettingsConfig config) { try { orig.Invoke(self, config); } catch (object obj) { Exception ex = (Exception)obj; LethalSettingsPlugin.Log.LogWarning((object)("Failed to run ModMenu.BuildMod(). Please contact the mod author to have it fixed.\n" + "Mod name: " + config.Name + "\n" + "Id: " + config.Id + "\n" + "Version: " + config.Version + "\n")); } } } [Serializable] [SpecialName] [StructLayout(LayoutKind.Auto, CharSet = CharSet.Auto)] [CompilationMapping(/*Could not decode attribute arguments.*/)] internal static class fixLethalSettings@27-1 { internal static void Invoke(orig_ShowModSettings orig, ModSettingsConfig activeConfig, List availableConfigs) { foreach (ModSettingsConfig availableConfig in availableConfigs) { if ((object)availableConfig == null) { continue; } GameObject viewport = availableConfig.Viewport; if ((object)viewport != null && 0 == 0) { bool flag = object.ReferenceEquals(availableConfig, activeConfig); if (availableConfig.Viewport.activeSelf && !flag) { onMenu@31(availableConfig, availableConfig.OnMenuClose); } availableConfig.Viewport.SetActive(flag); availableConfig.ShowSettingsButton.ShowCaret = flag; if (!availableConfig.Viewport.activeSelf && flag) { onMenu@31(availableConfig, availableConfig.OnMenuOpen); } } } } } internal static void onMenu@31(ModSettingsConfig config, a listener) where a : class { if (listener != null) { config.OnMenuClose(config.Viewport, new ReadOnlyCollection(config.MenuComponents)); } } public static void fixLethalSettings() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown ModMenu.BuildMod += new hook_BuildMod(fixLethalSettings@14.Invoke); ModMenu.ShowModSettings += new hook_ShowModSettings(fixLethalSettings@27-1.Invoke); } } } namespace .$Mirage.Compatibility { internal static class LethalSettings { } } namespace .$.NETStandard,Version=v2.1 { internal static class AssemblyAttributes { } } namespace .$Compatibility { internal static class AssemblyInfo { } } namespace System.Diagnostics.CodeAnalysis { [Serializable] [Flags] [CompilerGenerated] [DebuggerNonUserCode] internal enum DynamicallyAccessedMemberTypes { All = -1, None = 0, PublicParameterlessConstructor = 1, PublicConstructors = 3, NonPublicConstructors = 4, PublicMethods = 8, NonPublicMethods = 0x10, PublicFields = 0x20, NonPublicFields = 0x40, PublicNestedTypes = 0x80, NonPublicNestedTypes = 0x100, PublicProperties = 0x200, NonPublicProperties = 0x400, PublicEvents = 0x800, NonPublicEvents = 0x1000, Interfaces = 0x2000 } [CompilerGenerated] internal class DynamicDependencyAttribute : Attribute { [CompilerGenerated] [DebuggerNonUserCode] private DynamicallyAccessedMemberTypes MemberType@; [CompilerGenerated] [DebuggerNonUserCode] private Type Type@; [CompilerGenerated] [DebuggerNonUserCode] public DynamicallyAccessedMemberTypes MemberType { [CompilerGenerated] [DebuggerNonUserCode] get { return MemberType@; } } [CompilerGenerated] [DebuggerNonUserCode] public Type Type { [CompilerGenerated] [DebuggerNonUserCode] get { return Type@; } } [CompilerGenerated] [DebuggerNonUserCode] public DynamicDependencyAttribute(DynamicallyAccessedMemberTypes MemberType, Type Type) { MemberType@ = MemberType; Type@ = Type; } } }