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.Bootstrap; using BepInEx.Configuration; using DebugMod; using GlobalEnums; using HutongGames.PlayMaker; using HutongGames.PlayMaker.Actions; using Md.CollectableItemPickup; using Md.GameManager; using Md.HeroController; using Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegion; using Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegionV2; using Md.HutongGames.PlayMaker.Fsm; using Md.PlayMakerFSM; using Md.QuestItemBoard; using Microsoft.CodeAnalysis; using MonoDetour; using MonoDetour.Cil; using MonoDetour.DetourTypes; using MonoDetour.HookGen; using MonoDetour.Reflection.Unspeakable; using MonoMod.Utils; using PrepatcherPlugin; using Silksong.FsmUtil; using Silksong.FsmUtil.Actions; using Silksong.InvincibilityMonitor.Conditions; using Silksong.InvincibilityMonitor.Util; using Silksong.ModMenu.Elements; using Silksong.ModMenu.Models; using Silksong.ModMenu.Plugin; using Silksong.ModMenu.Screens; using Silksong.PurenailUtil.Collections; using Silksong.UnityHelper.Extensions; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Silksong.InvincibilityMonitor")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Make Hornet invincible in specific states.")] [assembly: AssemblyFileVersion("1.0.2.0")] [assembly: AssemblyInformationalVersion("1.0.2+5937054a6e8ba4ec267c819f0f12662066234b61")] [assembly: AssemblyProduct("Silksong.InvincibilityMonitor")] [assembly: AssemblyTitle("InvincibilityMonitor")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/dplochcoder/Silksong.InvincibilityMonitor")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.2.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [CompilerGenerated] internal sealed class <>z__ReadOnlyArray : IEnumerable, ICollection, IList, IEnumerable, IReadOnlyCollection, IReadOnlyList, ICollection, IList { int ICollection.Count => _items.Length; bool ICollection.IsSynchronized => false; object ICollection.SyncRoot => this; object IList.this[int index] { get { return _items[index]; } set { throw new NotSupportedException(); } } bool IList.IsFixedSize => true; bool IList.IsReadOnly => true; int IReadOnlyCollection.Count => _items.Length; T IReadOnlyList.this[int index] => _items[index]; int ICollection.Count => _items.Length; bool ICollection.IsReadOnly => true; T IList.this[int index] { get { return _items[index]; } set { throw new NotSupportedException(); } } public <>z__ReadOnlyArray(T[] items) { _items = items; } IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { ((ICollection)_items).CopyTo(array, index); } int IList.Add(object value) { throw new NotSupportedException(); } void IList.Clear() { throw new NotSupportedException(); } bool IList.Contains(object value) { return ((IList)_items).Contains(value); } int IList.IndexOf(object value) { return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object value) { throw new NotSupportedException(); } void IList.Remove(object value) { throw new NotSupportedException(); } void IList.RemoveAt(int index) { throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)_items).GetEnumerator(); } void ICollection.Add(T item) { throw new NotSupportedException(); } void ICollection.Clear() { throw new NotSupportedException(); } bool ICollection.Contains(T item) { return ((ICollection)_items).Contains(item); } void ICollection.CopyTo(T[] array, int arrayIndex) { ((ICollection)_items).CopyTo(array, arrayIndex); } bool ICollection.Remove(T item) { throw new NotSupportedException(); } int IList.IndexOf(T item) { return ((IList)_items).IndexOf(item); } void IList.Insert(int index, T item) { throw new NotSupportedException(); } void IList.RemoveAt(int index) { throw new NotSupportedException(); } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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] [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; } } [CompilerGenerated] [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 Md.QuestItemBoard { internal static class Awake { public delegate void PrefixSignature(QuestItemBoard self); public delegate void PostfixSignature(QuestItemBoard self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(QuestItemBoard).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("QuestItemBoard", "Awake"); } } internal static class _FadeStateRoutine_d__59 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("QuestItemBoard+d__59, Assembly-CSharp") ?? throw new Exception("Missing Type: 'QuestItemBoard+d__59'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("QuestItemBoard+d__59", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class add_QuestAccepted { } internal static class remove_QuestAccepted { } internal static class add_BoardClosed { } internal static class remove_BoardClosed { } internal static class add_DonateQuestAccepted { } internal static class remove_DonateQuestAccepted { } internal static class get_AvailableQuestsCount { } internal static class get_Quests { } internal static class get_InputBlocked { } internal static class GetItems { } internal static class GetGridSections { } internal static class OnItemInstantiated { } internal static class OpenPane { } internal static class MoveSelection { } internal static class SubmitQuestSelection { } internal static class QuestActioned { } internal static class GetPromptBlocker { } internal static class AcceptDonation { } internal static class DeclineDonation { } internal static class CancelQuestSelection { } internal static class CloseBoard { } internal static class SubmitButtonSelected { } internal static class CancelButtonSelected { } internal static class SetDisplay { } internal static class UpdateButtonPrompts { } internal static class SetState { } internal static class FadeToState { } internal static class FadeStateRoutine { } internal static class GetGroupForState { } internal static class DisplayCurrencyCounters { } internal static class HideCurrencyCounters { } internal static class _ctor { } internal static class States { internal static class _ctor { } } internal static class __c { internal static class _ctor { } } } namespace Md.HeroController { internal static class OnDisable { public delegate void PrefixSignature(HeroController self); public delegate void PostfixSignature(HeroController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroController).GetMethod("OnDisable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController", "OnDisable"); } } internal static class GetState { public delegate void PrefixSignature(HeroController self, ref string stateName); public delegate void PostfixSignature(HeroController self, ref string stateName, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroController).GetMethod("GetState", (BindingFlags)(-1), null, new Type[1] { typeof(string) }, null) ?? throw new MissingMethodException("HeroController", "GetState"); } } internal static class Awake { public delegate void PrefixSignature(HeroController self); public delegate void PostfixSignature(HeroController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroController).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController", "Awake"); } } internal static class HeroSetDelegate { internal static class Invoke { public delegate void PrefixSignature(HeroSetDelegate self, ref HeroController heroController); public delegate void PostfixSignature(HeroSetDelegate self, ref HeroController heroController); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroSetDelegate).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(HeroController) }, null) ?? throw new MissingMethodException("HeroController+HeroSetDelegate", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class HeroInPosition { internal static class Invoke { public delegate void PrefixSignature(HeroInPosition self, ref bool forceDirect); public delegate void PostfixSignature(HeroInPosition self, ref bool forceDirect); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroInPosition).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(bool) }, null) ?? throw new MissingMethodException("HeroController+HeroInPosition", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class DamageTakenDelegate { internal static class Invoke { public delegate void PrefixSignature(DamageTakenDelegate self, ref DamageInfo damageInfo); public delegate void PostfixSignature(DamageTakenDelegate self, ref DamageInfo damageInfo); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(DamageTakenDelegate).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(DamageInfo) }, null) ?? throw new MissingMethodException("HeroController+DamageTakenDelegate", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class _BetaLeave_d__981 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__981, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__981'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__981", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _BetaReturn_d__982 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__982, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__982'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__982", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _CocoonFloatRoutine_d__1253 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1253, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1253'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1253", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _Die_d__1101 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1101, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1101'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1101", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _DieFromHazard_d__1104 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1104, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1104'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1104", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _EnterHeroSubFadeUp_d__976 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__976, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__976'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__976", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _EnterHeroSubHorizontal_d__975 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__975, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__975'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__975", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _EnterScene_d__974 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__974, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__974'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__974", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _FirstFadeIn_d__1112 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1112, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1112'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1112", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _HazardRespawn_d__986 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__986, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__986'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__986", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _Invulnerable_d__1109 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1109, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1109'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1109", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _MoveToPositionX_d__1241 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1241, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1241'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1241", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _Respawn_d__983 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__983, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__983'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__983", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _StartRecoil_d__1105 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1105, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1105'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1105", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _TilemapTestPause_d__1162 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("HeroController+d__1162, Assembly-CSharp") ?? throw new Exception("Missing Type: 'HeroController+d__1162'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController+d__1162", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class OnDestroy { public delegate void PrefixSignature(HeroController self); public delegate void PostfixSignature(HeroController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(HeroController).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HeroController", "OnDestroy"); } } internal static class get_CurrentNailChargeTime { } internal static class get_CurrentNailChargeBeginTime { } internal static class get_HeroLockState { } internal static class set_HeroLockState { } internal static class get_CanTurn { } internal static class get_fallTimer { } internal static class set_fallTimer { } internal static class get_AudioCtrl { } internal static class get_Bounds { } internal static class get_proxyFSM { } internal static class set_proxyFSM { } internal static class get_NailImbuement { } internal static class set_NailImbuement { } internal static class get_IsSprintMasterActive { } internal static class get_IsGravityApplied { } internal static class set_IsGravityApplied { } internal static class get_sceneEntryGate { } internal static class set_sceneEntryGate { } internal static class get_PositionHistory { } internal static class add_FrostAmountUpdated { } internal static class remove_FrostAmountUpdated { } internal static class add_OnDoubleJumped { } internal static class remove_OnDoubleJumped { } internal static class get_ForceWalkingSound { } internal static class set_ForceWalkingSound { } internal static class get_ForceRunningSound { } internal static class set_ForceRunningSound { } internal static class get_IsStunned { } internal static class set_IsStunned { } internal static class get_SlashComponent { } internal static class set_SlashComponent { } internal static class add_OnHeroInstanceSet { } internal static class remove_OnHeroInstanceSet { } internal static class add_preHeroInPosition { } internal static class remove_preHeroInPosition { } internal static class add_heroInPosition { } internal static class remove_heroInPosition { } internal static class add_heroInPositionDelayed { } internal static class remove_heroInPositionDelayed { } internal static class add_OnTakenDamage { } internal static class remove_OnTakenDamage { } internal static class add_OnTakenDamageExtra { } internal static class remove_OnTakenDamageExtra { } internal static class add_OnDeath { } internal static class remove_OnDeath { } internal static class add_OnHazardDeath { } internal static class remove_OnHazardDeath { } internal static class add_OnHazardRespawn { } internal static class remove_OnHazardRespawn { } internal static class add_BeforeApplyConveyorSpeed { } internal static class remove_BeforeApplyConveyorSpeed { } internal static class add_FlippedSprite { } internal static class remove_FlippedSprite { } internal static class add_HeroLeavingScene { } internal static class remove_HeroLeavingScene { } internal static class get_WarriorState { } internal static class get_ReaperState { } internal static class get_HunterUpgState { } internal static class get_WandererState { } internal static class set_WandererState { } internal static class get_IsUsingQuickening { } internal static class get_IsInLifebloodState { } internal static class set_IsInLifebloodState { } internal static class get_IsWandererLucky { } internal static class get_PoisonHealthCount { } internal static class set_PoisonHealthCount { } internal static class get_Body { } internal static class get_HasAnimationControl { } internal static class get_AnimCtrl { } internal static class get_instance { } internal static class get_SilentInstance { } internal static class get_UnsafeInstance { } internal static class get_Config { } internal static class get_CurrentConfigGroup { } internal static class set_CurrentConfigGroup { } internal static class get_SpriteFlash { } internal static class get_TagDamageEffectPos { } internal static class get_IsRefillSoundsSuppressed { } internal static class get_ForceClampTerminalVelocity { } internal static class set_ForceClampTerminalVelocity { } internal static class get_CriticalHealthValue { } internal static class OnValidate { } internal static class SpawnChildPrefab_UnityEngine_GameObject { } internal static class Start { } internal static class SendPreHeroInPosition { } internal static class SendHeroInPosition { } internal static class UpdateConfig { } internal static class SetConfigGroup { } internal static class SceneInit { } internal static class Update { } internal static class SetIsMaggoted { } internal static class AddToMaggotCharmTimer { } internal static class DidMaggotCharmHit { } internal static class TickFrostEffect { } internal static class SpawnDeliveryItemEffect { } internal static class RemoveDeliveryItemEffect { } internal static class SetupDeliveryItems { } internal static class TickDeliveryItems { } internal static class GetDeliveryTimers { } internal static class GetTotalFrostSpeed { } internal static class TickSilkEat { } internal static class ShuttleCockCancel { } internal static class ShuttleCockCancelInert { } internal static class FixedUpdate { } internal static class ShoveOff { } internal static class UpdateMoveInput { } internal static class DoMovement { } internal static class DoRecoilMovement { } internal static class ConveyorReset { } internal static class SetBlockSteepSlopes { } internal static class IsSteepSlopeRayHitting { } internal static class UpdateSteepSlopes { } internal static class UpdateEdgeAdjust { } internal static class GetWillThrowTool { } internal static class CanThrowTool_ToolItem_AttackToolBinding_System_Boolean { } internal static class SetToolCooldown { } internal static class ThrowTool { } internal static class DidUseAttackTool { } internal static class ThrowToolEnd { } internal static class QueueLifeBloodStateQuick { } internal static class EnterLifebloodStateQuick { } internal static class TrySetCorrectFacing { } internal static class DoEdgeAdjust { } internal static class Update10 { } internal static class LateUpdate { } internal static class OnLevelUnload { } internal static class Move { } internal static class Jump { } internal static class DoubleJump { } internal static class SetSlashComponent { } internal static class DoAttack { } internal static class IncrementAttackCounter { } internal static class Attack { } internal static class AttackCancelWallSlide { } internal static class QueueCancelDownAttack { } internal static class DownAttack { } internal static class DidAttack { } internal static class Dash { } internal static class BackDash { } internal static class Downspike { } internal static class StartAirHang { } internal static class FaceRight { } internal static class FaceLeft { } internal static class ChangedFacing { } internal static class SetBackOnGround { } internal static class SetStartWithWallslide { } internal static class TryFsmCancelToWallSlide { } internal static class SetStartWithShuttlecock { } internal static class SetStartWithJump { } internal static class SetStartWithWallJump { } internal static class SetStartWithTinyJump { } internal static class SetStartWithFlipJump { } internal static class SilkChargeEnd { } internal static class HarpoonDashEnd { } internal static class SetStartWithAnyJump { } internal static class SetStartWithFullJump { } internal static class SetStartWithBackflipJump { } internal static class SetStartWithBrolly { } internal static class SetStartWithDoubleJump { } internal static class SetStartWithWallsprintLaunch { } internal static class SetStartWithDash { } internal static class SetStartWithDashKeepFacing { } internal static class SetStartWithAttack { } internal static class SetStartWithToolThrow { } internal static class SetStartWithDashStabBounce { } internal static class SetStartWithDownSpikeBounce { } internal static class SetStartWithDownSpikeBounceSlightlyShort { } internal static class SetStartWithDownSpikeBounceShort { } internal static class ResetAnimationDownspikeBounce { } internal static class SetStartWithDownSpikeEnd { } internal static class SetStartWithBalloonBounce { } internal static class SetStartWithHarpoonBounce { } internal static class CancelQueuedBounces { } internal static class SetStartWithWitchSprintBounce { } internal static class SetStartWithUpdraftExit { } internal static class SetStartWithScrambleLeap { } internal static class SetStartWithRecoilBack { } internal static class SetStartWithRecoilBackLong { } internal static class SetStartWithWhipPullRecoil { } internal static class SetSuperDashExit { } internal static class SetQuakeExit { } internal static class SetTakeNoDamage { } internal static class EndTakeNoDamage { } internal static class SetStartFromMantle { } internal static class SetStartFromReaperUpperslash { } internal static class SetHeroParent { } internal static class SetBlockFsmMove { } internal static class IsSwimming { } internal static class AddFrost { } internal static class SetFrostAmount { } internal static class NotSwimming { } internal static class GetAirdashed { } internal static class GetCanAirDashCancel { } internal static class EnableRenderer { } internal static class ResetAirMoves { } internal static class SetConveyorSpeed { } internal static class EnterWithoutInput { } internal static class SetDarkness { } internal static class CancelHeroJump { } internal static class StartHarpoonDashCooldown { } internal static class StartHarpoonDashCooldownShort { } internal static class CharmUpdate { } internal static class UpdateBlueHealth { } internal static class HitMaxBlueHealth { } internal static class HitMaxBlueHealthBurst { } internal static class GetMaxFallVelocity { } internal static class ResetLifebloodState { } internal static class checkEnvironment { } internal static class SetBenchRespawn_System_String_System_String_System_Int32_System_Boolean { } internal static class SetBenchRespawn_RespawnMarker_System_String_System_Int32 { } internal static class SetHazardRespawn { } internal static class AddGeo { } internal static class ToZero { } internal static class AddGeoQuietly { } internal static class AddGeoToCounter { } internal static class TakeGeo { } internal static class AddShards { } internal static class TakeShards { } internal static class AddCurrency { } internal static class TakeCurrency { } internal static class GetCurrencyAmount { } internal static class TempStoreCurrency { } internal static class RestoreTempStoredCurrency { } internal static class UpdateGeo { } internal static class CanInput { } internal static class IsPaused { } internal static class IsHunterCrestEquipped { } internal static class IsArchitectCrestEquipped { } internal static class IsShamanCrestEquipped { } internal static class FlipSprite { } internal static class RefreshFacing { } internal static class RefreshScale { } internal static class NeedleArtRecovery { } internal static class CrestAttackRecovery { } internal static class NailParry { } internal static class IsParrying { } internal static class IsParryingActive { } internal static class NailParryRecover { } internal static class QuakeInvuln { } internal static class CrossStitchInvuln { } internal static class StartRevengeWindow { } internal static class StartWandererDashComboWindow { } internal static class ForceSoftLanding { } internal static class PlaySoftLandingEffect { } internal static class TakeQuickDamage_System_Int32_System_Boolean { } internal static class TakeQuickDamage_System_Int32_System_Boolean_System_Boolean { } internal static class TakeQuickDamageSimple { } internal static class TakeFrostDamage { } internal static class TakeChompDamage { } internal static class ApplyTagDamage { } internal static class DoSpecialDamage { } internal static class CriticalDamage { } internal static class CheckParry { } internal static class TakeDamage { } internal static class CheckDeathCatch { } internal static class ActivateVoidAcid { } internal static class IsLavaBellActive { } internal static class UseLavaBell { } internal static class GetLuckyDiceShieldThreshold { } internal static class GetLuckModifier { } internal static class DamageSelf { } internal static class CanTryHarpoonDash { } internal static class HeroDamaged { } internal static class SendHeroDamagedEvent { } internal static class SendHeroDamagedEvent_HeroController_DamageInfo { } internal static class HeroRespawned { } internal static class DoBindReminder { } internal static class WillDoBellBindHit { } internal static class WillDoBellBindHit_System_Boolean { } internal static class DoMossToolHit { } internal static class GetEntryGateName { } internal static class GetShuttlecockTime { } internal static class SilkGain { } internal static class SilkGain_HitInstance { } internal static class NailHitEnemy { } internal static class GetRageModeHealCap { } internal static class GetWitchHealCap { } internal static class GetReaperPayout { } internal static class ResetAllCrestStateMinimal { } internal static class ResetAllCrestState { } internal static class ResetAllCrestState_System_Boolean { } internal static class ResetWarriorRageEffect { } internal static class ResetWarriorCrestState { } internal static class ResetReaperCrestState { } internal static class SetSilkPartsTimeLeft { } internal static class ResetHunterUpgCrestState { } internal static class ResetWandererCrestState { } internal static class AddSilk_System_Int32_System_Boolean { } internal static class ReduceOdours { } internal static class AddSilk_System_Int32_System_Boolean_SilkSpool_SilkAddSource { } internal static class AddSilk_System_Int32_System_Boolean_SilkSpool_SilkAddSource_System_Boolean { } internal static class RefillSilkToMax { } internal static class RefreshSilk { } internal static class AddFinalMaxSilk { } internal static class AddSilkParts_System_Int32 { } internal static class AddSilkParts_System_Int32_System_Boolean { } internal static class TakeSilk_System_Int32 { } internal static class TakeSilk_System_Int32_SilkSpool_SilkTakeSource { } internal static class ClearSpoolMossChunks { } internal static class MaxRegenSilk { } internal static class MaxRegenSilkInstant { } internal static class StartSilkRegen { } internal static class DoSilkRegen { } internal static class ResetSilkRegen { } internal static class SetSilkRegenBlocked { } internal static class SetSilkRegenBlockedSilkHeart { } internal static class UpdateSilkCursed { } internal static class AddHealth { } internal static class RefillHealthToMax { } internal static class SuppressRefillSound { } internal static class RefillAll { } internal static class RefillSilkToMaxSilent { } internal static class BindCompleted { } internal static class RestartWarriorRageEffect { } internal static class BindInterrupted { } internal static class TakeHealth { } internal static class MaxHealth { } internal static class MaxHealthKeepBlue { } internal static class AddToMaxHealth { } internal static class AddToMaxSilk { } internal static class AddToMaxSilkRegen { } internal static class IsHealthCritical { } internal static class DownspikeBounce { } internal static class DownspikeBounceSlightlyShort { } internal static class DownspikeBounceShort { } internal static class Bounce { } internal static class BounceShort { } internal static class BounceHigh { } internal static class ShroomBounce { } internal static class RecoilLeft { } internal static class RecoilRight { } internal static class RecoilRightLong { } internal static class RecoilLeftLong { } internal static class CanRecoil { } internal static class CanCustomRecoil { } internal static class PreventRecoil { } internal static class AllowRecoil { } internal static class Recoil_System_Boolean_System_Boolean { } internal static class DrillDash { } internal static class DrillPull { } internal static class Recoil_System_Int32_System_Single { } internal static class Recoil_System_Boolean_System_Int32_System_Single { } internal static class ChargeSlashRecoilRight { } internal static class ChargeSlashRecoilLeft { } internal static class RecoilDown { } internal static class ForceHardLanding { } internal static class EnterUpdraft { } internal static class ExitUpdraft { } internal static class ResetUpdraft { } internal static class AllowMantle { } internal static class EnterSceneDreamGate { } internal static class EnterScene { } internal static class EnterHeroSubHorizontal { } internal static class EnterHeroSubFadeUp { } internal static class GetSceneFadeUpPadding { } internal static class MoveIfNotInDontDestroyOnLoad { } internal static class ResetHeroInPositionState { } internal static class LeaveScene { } internal static class BetaLeave { } internal static class BetaReturn { } internal static class Respawn { } internal static class HazardRespawnReset { } internal static class ResetShuttlecock { } internal static class HazardRespawn { } internal static class GetCState { } internal static class SetCState { } internal static class CStateExists { } internal static class ResetHardLandingTimer { } internal static class CancelSuperDash { } internal static class CancelDownSpike { } internal static class CancelDownSpikeBounces { } internal static class RelinquishControlNotVelocity { } internal static class get_ControlVersion { } internal static class set_ControlVersion { } internal static class RelinquishControl { } internal static class RegainControl { } internal static class RegainControl_System_Boolean { } internal static class OnShuttleCockJump { } internal static class PreventCastByDialogueEnd { } internal static class CanDoFsmMove { } internal static class IsHardLanding { } internal static class CanCast { } internal static class CanBind { } internal static class CanDoFSMCancelMove { } internal static class CanDoSpecial { } internal static class CanNailArt { } internal static class CanQuickMap { } internal static class CanQuickMapBench { } internal static class CanQuickMap_System_Boolean { } internal static class IsLostInSlab { } internal static class HasNoMap { } internal static class CanInspect { } internal static class CanBackDash { } internal static class CanPlayNeedolin { } internal static class HasNeedolin { } internal static class CanInteract { } internal static class CanTakeControl { } internal static class CanOpenInventory { } internal static class SetDamageMode_System_Int32 { } internal static class SetDamageModeFSM { } internal static class ResetQuakeDamage { } internal static class SetDamageMode_GlobalEnums_DamageMode { } internal static class get_AnimationControlVersion { } internal static class set_AnimationControlVersion { } internal static class StopAnimationControl { } internal static class StopAnimationControlVersioned { } internal static class StartAnimationControl { } internal static class StartAnimationControl_System_Int32 { } internal static class StartAnimationControlRunning { } internal static class StartAnimationControlToIdle { } internal static class StartAnimationControlToIdleForcePlay { } internal static class IgnoreInput { } internal static class IgnoreInputWithoutReset { } internal static class AcceptInput { } internal static class Pause { } internal static class UnPause { } internal static class NearBench { } internal static class SetWalkZone { } internal static class ResetState { } internal static class StopPlayingAudio { } internal static class PauseAudio { } internal static class UnPauseAudio { } internal static class PauseInput { } internal static class UnPauseInput { } internal static class SetCanSoftLand { } internal static class TrySpawnSoftLandingPrefab { } internal static class CanSoftLand { } internal static class PreventSoftLand { } internal static class SpawnSoftLandingPrefab { } internal static class AffectedByGravity { } internal static class TryRestoreGravity { } internal static class ResetGravity { } internal static class ResetVelocity { } internal static class AddInputBlocker { } internal static class RemoveInputBlocker { } internal static class IsInputBlocked { } internal static class IsPressingOnlyDown { } internal static class LookForInput { } internal static class ForceTouchingWall { } internal static class BeginWallSlide { } internal static class WallKickoff { } internal static class TryDoWallJumpFromMove { } internal static class LookForQueueInput { } internal static class ResetInputQueues { } internal static class HeroJump { } internal static class ResetStartWithJumps { } internal static class PreventShuttlecock { } internal static class HeroJump_System_Boolean { } internal static class OnHeroJumped { } internal static class BecomeAirborne { } internal static class HeroJumpNoEffect { } internal static class ClearActionsInputState { } internal static class ClearJumpInputState { } internal static class DoWallJump { } internal static class DoDoubleJump { } internal static class SetBlockFootstepAudio { } internal static class StartFloat { } internal static class DoHardLanding { } internal static class DoHardLandingEffect { } internal static class DoHardLandingEffectNoHit { } internal static class HeroDashPressed { } internal static class HeroDash { } internal static class SetDashCooldownTimer { } internal static class StartDashEffect { } internal static class StartFallRumble { } internal static class IsOnWall { } internal static class CanExitNoInput { } internal static class SetState { } internal static class FinishedEnteringScene { } internal static class ResetSceneExitedStates { } internal static class Die { } internal static class GetHeroDeathPrefab { } internal static class ElevatorReset { } internal static class DieFromHazard { } internal static class StartRecoil { } internal static class StartInvulnerable { } internal static class Invulnerable { } internal static class AddInvulnerabilitySource { } internal static class RemoveInvulnerabilitySource { } internal static class FirstFadeIn { } internal static class FallCheck { } internal static class OutOfBoundsCheck { } internal static class ConfirmOutOfBounds { } internal static class FailSafeChecks { } internal static class LocateSpawnPoint { } internal static class CancelJump { } internal static class CancelDoubleJump { } internal static class CancelDash { } internal static class StopDashEffect { } internal static class CancelWallsliding { } internal static class CancelBackDash { } internal static class CancelDownAttack { } internal static class CancelAttack { } internal static class CancelAttack_System_Boolean { } internal static class CancelDownspike { } internal static class CancelDownspikeAndDamage { } internal static class CancelAttackNotDownspikeBounce { } internal static class CancelAttackNotDownspikeBounce_System_Boolean { } internal static class CancelAttackNotSlash { } internal static class CancelBounce { } internal static class CancelRecoilHorizontal { } internal static class CancelDamageRecoil { } internal static class CancelDamageRecoilSimple { } internal static class CancelFallEffects { } internal static class ResetAttacksShared { } internal static class ResetAttacks { } internal static class StopNailChargeEffects { } internal static class CancelNailCharge { } internal static class ResetAttacksDash { } internal static class ResetMotion { } internal static class ResetMotionNotVelocity { } internal static class ResetLook { } internal static class ResetInput { } internal static class CheckAndRequestUnlock { } internal static class IsBlocked { } internal static class AddLockStates { } internal static class RemoveLockStates { } internal static class SetLockStates { } internal static class AddUnlockRequest { } internal static class RemoveUnlockRequest { } internal static class BackOnGround { } internal static class JumpReleased { } internal static class SetDoFullJump { } internal static class FinishedDashing { } internal static class FinishDownspike { } internal static class FinishDownspike_System_Boolean { } internal static class SetStartingMotionState { } internal static class SetStartingMotionState_System_Boolean { } internal static class TileMapTest { } internal static class TilemapTestPause { } internal static class StopTilemapTest { } internal static class TryDoTerrainThunk { } internal static class ResetFixedUpdateCaches { } internal static class CheckStillTouchingWall { } internal static class CheckForBump_GlobalEnums_CollisionSide { } internal static class CheckForBump_GlobalEnums_CollisionSide_out_System_Boolean_out_System_Boolean_out_System_Boolean { } internal static class CheckNearRoof { } internal static class CheckClamberLedge { } internal static class CheckTouchingGround { } internal static class CheckTouchingGround_System_Boolean { } internal static class CheckTouching { } internal static class CheckTouchingAdvanced { } internal static class FindCollisionDirection { } internal static class CanJump { } internal static class AllowShuttleCock { } internal static class CouldJumpCancel { } internal static class CanDoubleJump { } internal static class CanInfiniteAirJump { } internal static class CanSwim { } internal static class CanDash { } internal static class DashCooldownReady { } internal static class HasHarpoonDash { } internal static class CanHarpoonDash { } internal static class CanSprint { } internal static class CanSuperJump { } internal static class CanAttack { } internal static class ThrowToolCooldownReady { } internal static class CanThrowTool { } internal static class CanThrowTool_System_Boolean { } internal static class CanStartWithThrowTool { } internal static class CanAttackAction { } internal static class CanDownAttack { } internal static class TryQueueWallJumpInterrupt { } internal static class IsAttackLocked { } internal static class IsDashLocked { } internal static class CanFloat { } internal static class IsApproachingSolidGround { } internal static class CanNailCharge { } internal static class IsFacingNearWall_System_Single_UnityEngine_Color { } internal static class IsFacingNearWall_System_Boolean_System_Single_UnityEngine_Color { } internal static class IsFacingNearWall_System_Single_UnityEngine_Color_out_UnityEngine_Collider2D { } internal static class IsFacingNearWall_System_Boolean_System_Single_UnityEngine_Color_out_UnityEngine_Collider2D { } internal static class IsFacingNearSlideableWall { } internal static class CanStartWithWallSlide { } internal static class CanWallSlide { } internal static class CanContinueWallSlide { } internal static class CanTakeDamage { } internal static class CanTakeDamageIgnoreInvul { } internal static class CanBeGrabbed_System_Boolean { } internal static class CanBeGrabbed { } internal static class CanBeBarnacleGrabbed { } internal static class CanWallJump { } internal static class CanChainWallJumps { } internal static class CanWallScramble { } internal static class ShouldHardLand { } internal static class IsOnGroundLayer { } internal static class OnCollisionEnter2D { } internal static class HandleCollisionTouching { } internal static class OnCollisionStay2D { } internal static class OnCollisionExit2D { } internal static class LeftGround { } internal static class SetupGameRefs { } internal static class SetupPools { } internal static class FilterInput { } internal static class FindGroundPoint { } internal static class FindGroundPointY { } internal static class TryFindGroundPoint { } internal static class StartDownspikeInvulnerability { } internal static class StartDownspikeInvulnerabilityLong { } internal static class CancelDownspikeInvulnerability { } internal static class DetachHeroLight { } internal static class ReattachHeroLight { } internal static class SetAllowNailChargingWhileRelinquished { } internal static class SetAllowRecoilWhileRelinquished { } internal static class SetRecoilZeroVelocity { } internal static class MoveToPositionX { } internal static class ToggleNoClip { } internal static class GetIsNoClip { } internal static class GetRunSpeed { } internal static class GetWalkSpeed { } internal static class ActivateQuickening { } internal static class StartRoarLock { } internal static class StartRoarLockNoRecoil { } internal static class StopRoarLock { } internal static class CocoonBroken { } internal static class CocoonBroken_System_Boolean { } internal static class CocoonBroken_System_Boolean_System_Boolean { } internal static class CocoonFloatRoutine { } internal static class RecordLeaveSceneCState { } internal static class CleanSpawnedDeliveryEffects { } internal static class LeavingScene { } internal static class DoSprintSkid { } internal static class AddExtraAirMoveVelocity { } internal static class ClearEffectsInstant { } internal static class ClearEffects { } internal static class ClearEffectsLite { } internal static class ResetMaggotCharm { } internal static class StopQuickening { } internal static class SilkTaunted { } internal static class SilkTauntEffectConsume { } internal static class RingTaunted { } internal static class RingTauntEffectConsume { } internal static class ResetTauntEffects { } internal static class ResetLavaBell { } internal static class GetVibrationCtrl { } internal static class ReportPoisonHealthAdded { } internal static class ReportPoisonHealthRemoved { } internal static class _ctor { } internal static class _cctor { } internal static class ITagDamageTakerOwner_get_transform { } internal static class ConfigGroup { internal static class get_NormalSlash { } internal static class set_NormalSlash { } internal static class get_NormalSlashDamager { } internal static class set_NormalSlashDamager { } internal static class get_AlternateSlash { } internal static class set_AlternateSlash { } internal static class get_AlternateSlashDamager { } internal static class set_AlternateSlashDamager { } internal static class get_UpSlash { } internal static class set_UpSlash { } internal static class get_UpSlashDamager { } internal static class set_UpSlashDamager { } internal static class get_AltUpSlash { } internal static class set_AltUpSlash { } internal static class get_AltUpSlashDamager { } internal static class set_AltUpSlashDamager { } internal static class get_DownSlash { } internal static class set_DownSlash { } internal static class get_Downspike { } internal static class set_Downspike { } internal static class get_DownSlashDamager { } internal static class set_DownSlashDamager { } internal static class get_AltDownSlash { } internal static class set_AltDownSlash { } internal static class get_AltDownspike { } internal static class set_AltDownspike { } internal static class get_AltDownSlashDamager { } internal static class set_AltDownSlashDamager { } internal static class get_WallSlash { } internal static class set_WallSlash { } internal static class get_WallSlashDamager { } internal static class set_WallSlashDamager { } internal static class Setup { } internal static class _ctor { } } internal static class DecayingVelocity { internal static class _ctor { } internal static class SkipBehaviours { internal static class _ctor { } } } internal static class SilkEatTracker { internal static class _ctor { } } internal static class DeliveryTimer { internal static class _ctor { } } internal static class DamageInfo { internal static class _ctor { } internal static class _ctor_GlobalEnums_HazardType { } } internal static class WarriorCrestStateInfo { internal static class _ctor { } } internal static class ReaperCrestStateInfo { internal static class _ctor { } } internal static class HunterUpgCrestStateInfo { internal static class _ctor { } internal static class get_IsComboMeterAboveExtra { } } internal static class WandererCrestStateInfo { internal static class _ctor { } } internal static class __c__DisplayClass1241_0 { internal static class _ctor { } } internal static class __c__DisplayClass695_0 { internal static class _ctor { } } internal static class __c__DisplayClass983_0 { internal static class _ctor { } } internal static class __c__DisplayClass986_0 { internal static class _ctor { } } } namespace Md.GameManager { internal static class OnNextLevelReady { public delegate void PrefixSignature(GameManager self); public delegate void PostfixSignature(GameManager self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(GameManager).GetMethod("OnNextLevelReady", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager", "OnNextLevelReady"); } } internal static class OnDisable { public delegate void PrefixSignature(GameManager self); public delegate void PostfixSignature(GameManager self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(GameManager).GetMethod("OnDisable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager", "OnDisable"); } } internal static class Awake { public delegate void PrefixSignature(GameManager self); public delegate void PostfixSignature(GameManager self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(GameManager).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager", "Awake"); } } internal static class PausedEvent { internal static class Invoke { public delegate void PrefixSignature(PausedEvent self, ref bool isPaused); public delegate void PostfixSignature(PausedEvent self, ref bool isPaused); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(PausedEvent).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(bool) }, null) ?? throw new MissingMethodException("GameManager+PausedEvent", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class GameStateEvent { internal static class Invoke { public delegate void PrefixSignature(GameStateEvent self, ref GameState gameState); public delegate void PostfixSignature(GameStateEvent self, ref GameState gameState); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(GameStateEvent).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(GameState) }, null) ?? throw new MissingMethodException("GameManager+GameStateEvent", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class BossLoad { internal static class Invoke { public delegate void PrefixSignature(BossLoad self); public delegate void PostfixSignature(BossLoad self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BossLoad).GetMethod("Invoke", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+BossLoad", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class EnterSceneEvent { internal static class Invoke { public delegate void PrefixSignature(EnterSceneEvent self); public delegate void PostfixSignature(EnterSceneEvent self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(EnterSceneEvent).GetMethod("Invoke", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+EnterSceneEvent", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class SceneTransitionFinishEvent { internal static class Invoke { public delegate void PrefixSignature(SceneTransitionFinishEvent self); public delegate void PostfixSignature(SceneTransitionFinishEvent self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(SceneTransitionFinishEvent).GetMethod("Invoke", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+SceneTransitionFinishEvent", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class SceneTransitionBeganDelegate { internal static class Invoke { public delegate void PrefixSignature(SceneTransitionBeganDelegate self, ref SceneLoad sceneLoad); public delegate void PostfixSignature(SceneTransitionBeganDelegate self, ref SceneLoad sceneLoad); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(SceneTransitionBeganDelegate).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(SceneLoad) }, null) ?? throw new MissingMethodException("GameManager+SceneTransitionBeganDelegate", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class _BeginSceneTransitionRoutine_d__239 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__239, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__239'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__239", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _FadeSceneInWithDelay_d__266 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__266, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__266'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__266", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _FreezeMoment_d__468 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__468, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__468'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__468", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _FreezeMomentGC_d__469 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__469, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__469'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__469", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _LoadFirstScene_d__356 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__356, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__356'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__356", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _LoadGameFromUIRoutine_d__442 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__442, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__442'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__442", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _LoadGameFromUIRoutine_d__443 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__443, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__443'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__443", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _LoadSceneAdditive_d__348 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__348, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__348'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__348", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _PauseGameToggle_d__461 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__461, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__461'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__461", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _PauseGameToggleByMenu_d__460 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__460, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__460'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__460", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _PlayerDead_d__245 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__245, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__245'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__245", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _PlayerDeadFromHazard_d__246 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__246, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__246'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__246", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _QuitGame_d__483 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__483, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__483'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__483", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _ReturnToMainMenu_d__479 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__479, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__479'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__479", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _RunContinueGame_d__474 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__474, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__474'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__474", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _RunStartNewGame_d__472 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__472, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__472'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__472", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _SetTimeScale_d__463 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__463, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__463'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__463", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _SetTimeScale_d__465 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__465, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__465'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__465", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _SkipCutsceneNoMash_d__381 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__381, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__381'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__381", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class _TransitionScene_d__242 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("GameManager+d__242, Assembly-CSharp") ?? throw new Exception("Missing Type: 'GameManager+d__242'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager+d__242", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class OnDestroy { public delegate void PrefixSignature(GameManager self); public delegate void PostfixSignature(GameManager self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(GameManager).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("GameManager", "OnDestroy"); } } internal static class get_GameState { } internal static class set_GameState { } internal static class add_GamePausedChange { } internal static class remove_GamePausedChange { } internal static class add_GameStateChange { } internal static class remove_GameStateChange { } internal static class add_SceneInit { } internal static class remove_SceneInit { } internal static class get_TimeSlowed { } internal static class get_SceneSeededRandom { } internal static class set_SceneSeededRandom { } internal static class get_inputHandler { } internal static class set_inputHandler { } internal static class get_achievementHandler { } internal static class set_achievementHandler { } internal static class get_AudioManager { } internal static class get_IsCollectingGarbage { } internal static class set_IsCollectingGarbage { } internal static class SpawnInControlManager { } internal static class get_cameraCtrl { } internal static class set_cameraCtrl { } internal static class get_hero_ctrl { } internal static class set_hero_ctrl { } internal static class get_heroLight { } internal static class set_heroLight { } internal static class get_sm { } internal static class set_sm { } internal static class get_ui { } internal static class set_ui { } internal static class get_tilemap { } internal static class set_tilemap { } internal static class get_soulOrb_fsm { } internal static class set_soulOrb_fsm { } internal static class get_soulVessel_fsm { } internal static class set_soulVessel_fsm { } internal static class get_inventoryFSM { } internal static class set_inventoryFSM { } internal static class get_screenFader_fsm { } internal static class set_screenFader_fsm { } internal static class get_PlayTime { } internal static class get_RespawningHero { } internal static class set_RespawningHero { } internal static class add_SavePersistentObjects { } internal static class remove_SavePersistentObjects { } internal static class add_ResetSemiPersistentObjects { } internal static class remove_ResetSemiPersistentObjects { } internal static class add_NextSceneWillActivate { } internal static class remove_NextSceneWillActivate { } internal static class add_UnloadingLevel { } internal static class remove_UnloadingLevel { } internal static class add_RefreshLanguageText { } internal static class remove_RefreshLanguageText { } internal static class add_RefreshParticleLevel { } internal static class remove_RefreshParticleLevel { } internal static class add_OnLoadedBoss { } internal static class remove_OnLoadedBoss { } internal static class add_OnFinishedEnteringScene { } internal static class remove_OnFinishedEnteringScene { } internal static class add_OnBeforeFinishedSceneTransition { } internal static class remove_OnBeforeFinishedSceneTransition { } internal static class add_OnFinishedSceneTransition { } internal static class remove_OnFinishedSceneTransition { } internal static class get_IsInSceneTransition { } internal static class set_IsInSceneTransition { } internal static class get_SuppressRegainControl { } internal static class set_SuppressRegainControl { } internal static class get_HasFinishedEnteringScene { } internal static class get_IsLoadingSceneTransition { } internal static class get_LoadVisualization { } internal static class get_CurrentLoadDuration { } internal static class get_QueuedBlueHealth { } internal static class set_QueuedBlueHealth { } internal static class get_IsFirstLevelForPlayer { } internal static class set_IsFirstLevelForPlayer { } internal static class get_IsWaitingForSceneReady { } internal static class set_IsWaitingForSceneReady { } internal static class get_instance { } internal static class get_SilentInstance { } internal static class get_UnsafeInstance { } internal static class Start { } internal static class Update { } internal static class UpdateEngagement { } internal static class LevelActivated { } internal static class OnApplicationQuit { } internal static class BeginSceneTransition { } internal static class get_LastSceneLoad { } internal static class set_LastSceneLoad { } internal static class add_SceneTransitionBegan { } internal static class remove_SceneTransitionBegan { } internal static class BeginSceneTransitionRoutine { } internal static class ReportUnload { } internal static class UnloadScene { } internal static class TransitionScene { } internal static class ChangeToScene { } internal static class LeftScene { } internal static class PlayerDead { } internal static class PlayerDeadFromHazard { } internal static class GetRespawnInfo { } internal static class ReadyForRespawn { } internal static class HazardRespawn { } internal static class TimePasses { } internal static class TimePassesElsewhere { } internal static class TimePassesLoadedIn { } internal static class MuchTimePasses { } internal static class StartBlackThreadWorld { } internal static class StartAct3 { } internal static class RemoveIncompleteActiveQuest { } internal static class SethTravelCheck { } internal static class EnteredNewMapZone { } internal static class LoadedFromMenu { } internal static class FixUpSaveState { } internal static class get_BlockNextVibrationFadeIn { } internal static class set_BlockNextVibrationFadeIn { } internal static class FadeSceneIn { } internal static class FadeSceneInWithDelay { } internal static class IsGamePaused { } internal static class SetGameMap { } internal static class CalculateNotchesUsed { } internal static class GetLanguageAsString { } internal static class GetEntryGateName { } internal static class SetDeathRespawnSimple { } internal static class SetNonlethalDeathRespawn { } internal static class SetPlayerDataBool { } internal static class SetPlayerDataInt { } internal static class SetPlayerDataFloat { } internal static class SetPlayerDataString { } internal static class IncrementPlayerDataInt { } internal static class DecrementPlayerDataInt { } internal static class IntAdd { } internal static class GetPlayerDataBool { } internal static class GetPlayerDataInt { } internal static class GetPlayerDataFloat { } internal static class GetPlayerDataString { } internal static class SetPlayerDataVector3 { } internal static class GetPlayerDataVector3 { } internal static class GetNextMossberryValue { } internal static class GetNextSilkGrubValue { } internal static class EquipCharm { } internal static class UnequipCharm { } internal static class RefreshOvercharm { } internal static class UpdateBlueHealth { } internal static class AddBlueHealthQueued { } internal static class SetCurrentMapZoneAsRespawn { } internal static class SetOverrideMapZoneAsRespawn { } internal static class SetMapZoneToSpecific { } internal static class UpdateGameMapWithPopup { } internal static class UpdateGameMap { } internal static class UpdateGameMapPins { } internal static class get_DidPurchasePin { } internal static class set_DidPurchasePin { } internal static class get_DidPurchaseMap { } internal static class set_DidPurchaseMap { } internal static class DoShopCloseGameMapUpdate { } internal static class AddToScenesVisited { } internal static class AddToBenchList { } internal static class AddToGrubList { } internal static class AddToFlameList { } internal static class AddToCocoonList { } internal static class AddToDreamPlantList { } internal static class AddToDreamPlantCList { } internal static class CountGameCompletion { } internal static class CountJournalEntries { } internal static class ActivateTestingCheats { } internal static class GetAllPowerups { } internal static class MapperLeavePreviousLocations { } internal static class AwardAchievement { } internal static class QueueAchievementProgress { } internal static class UpdateAchievementProgress { } internal static class QueueAchievement { } internal static class AwardQueuedAchievements_System_Single { } internal static class AwardQueuedAchievements { } internal static class QueuedMenuStyleUnlock { } internal static class CanUnlockMenuStyle { } internal static class IsAchievementAwarded { } internal static class ClearAllAchievements { } internal static class CheckAllAchievements { } internal static class CheckBellwayAchievements { } internal static class CheckTubeAchievements { } internal static class CheckMapAchievements { } internal static class CheckSubQuestAchievements { } internal static class CheckHeartAchievements { } internal static class CheckSilkSpoolAchievements { } internal static class CheckCompletionAchievements { } internal static class RecordGameComplete { } internal static class SetStatusRecordInt { } internal static class GetStatusRecordInt { } internal static class ResetStatusRecords { } internal static class SaveStatusRecords { } internal static class SetState { } internal static class LoadScene { } internal static class LoadSceneAdditive { } internal static class SkipNormalActorFadeIn { } internal static class SetSkipNextLevelReadyActorFadeIn { } internal static class SimulateSceneStartPhysics { } internal static class OnWillActivateFirstLevel { } internal static class LoadFirstScene { } internal static class LoadPermadeathUnlockScene { } internal static class LoadOpeningCinematic { } internal static class PositionHeroAtSceneEntrance { } internal static class FindEntryPoint { } internal static class FindTransitionPoint { } internal static class EnterHero { } internal static class FinishedEnteringScene { } internal static class SetupGameRefs { } internal static class RegisterEvents { } internal static class UnregisterEvents { } internal static class FindSceneManager { } internal static class EnsureGlobalPool { } internal static class SetupSceneRefs { } internal static class SetupHeroRefs { } internal static class BeginScene { } internal static class UpdateUIStateFromGameState { } internal static class SkipCutscene { } internal static class RegisterSkippable { } internal static class DeregisterSkippable { } internal static class SkipCutsceneNoMash { } internal static class NoLongerFirstGame { } internal static class SetupStatusModifiers { } internal static class RefreshLocalization { } internal static class RefreshParticleSystems { } internal static class ApplyNativeInput { } internal static class EnablePermadeathMode { } internal static class GetCurrentMapZone { } internal static class GetCurrentMapZoneEnum { } internal static class GetSceneWidth { } internal static class GetSceneHeight { } internal static class GetSceneManager { } internal static class GetSceneManagerComponent { } internal static class GetFormattedMapZoneString { } internal static class GetFormattedMapZoneStringV2 { } internal static class GetFormattedAutoSaveNameString { } internal static class UpdateSceneName { } internal static class GetBaseSceneName { } internal static class InternalBaseSceneName { } internal static class GetSceneNameString { } internal static class GetTileMap { } internal static class RefreshTilemapInfo { } internal static class SaveLevelState { } internal static class ResetSemiPersistentItems { } internal static class IsMenuScene { } internal static class IsTitleScreenScene { } internal static class IsGameplayScene { } internal static class IsNonGameplayScene { } internal static class IsCinematicScene { } internal static class IsStagTravelScene { } internal static class IsBossDoorScene { } internal static class ShouldKeepHUDCameraActive { } internal static class HasSaveFile { } internal static class SaveGame_System_Action_1 { } internal static class SaveGameWithAutoSave { } internal static class QueueSaveGame { } internal static class QueueAutoSave { } internal static class DoQueuedSaveGame { } internal static class CancelDoQueuedSaveGame { } internal static class CreateRestorePoint_AutoSaveName_System_Action_1 { } internal static class CreateSaveGameData { } internal static class CreateRestorePoint_System_Int32_AutoSaveName_System_Action_1 { } internal static class ShowSaveIcon { } internal static class HideSaveIcon { } internal static class ResetGameTimer { } internal static class IncreaseGameTimer { } internal static class GetSaveGameData { } internal static class SaveGame_System_Int32_System_Action_1_System_Boolean_AutoSaveName { } internal static class SaveGameData { } internal static class DoSaveRestorePoint { } internal static class PreparePlayerDataForSave { } internal static class LoadGameFromUI_System_Int32 { } internal static class LoadGameFromUI_System_Int32_SaveGameData { } internal static class LoadGameFromUIRoutine_System_Int32 { } internal static class LoadGameFromUIRoutine_System_Int32_SaveGameData { } internal static class LoadGame { } internal static class SetLoadedGameData_System_String_System_Int32 { } internal static class SetLoadedGameData_SaveGameData_System_Int32 { } internal static class ClearSaveFile { } internal static class GetSaveStatsForSlot { } internal static class GetJsonForSaveBytes { } internal static class GetJsonForSaveBytesStatic { } internal static class GetBytesForSaveJson { } internal static class GetBytesForSaveJsonAsync { } internal static class GetBytesForSaveJsonStatic { } internal static class GetBytesForSaveData { } internal static class GetLoadedSaveSlotData { } internal static class GetSaveStatsFromData { } internal static class PauseGameToggleByMenu { } internal static class PauseGameToggle { } internal static class SetPausedState { } internal static class SetTimeScale_System_Single_System_Single { } internal static class SetTimeScale_System_Single { } internal static class SetTimeScale_TimeManager_TimeControlInstance_System_Single_System_Single { } internal static class FreezeMoment_System_Int32 { } internal static class FreezeMoment_GlobalEnums_FreezeMomentTypes_System_Action { } internal static class FreezeMoment_System_Single_System_Single_System_Single_System_Single_System_Action { } internal static class FreezeMomentGC { } internal static class EnsureSaveSlotSpace { } internal static class StartNewGame { } internal static class RunStartNewGame { } internal static class ContinueGame { } internal static class RunContinueGame { } internal static class LoadGlobalPoolPrefab { } internal static class UnloadGlobalPoolPrefab { } internal static class LoadHeroPrefab { } internal static class UnloadHeroPrefab { } internal static class ReturnToMainMenu { } internal static class ReturnToMainMenuNoSave { } internal static class EmergencyReturnToMenu { } internal static class DoEmergencyQuit { } internal static class QuitGame { } internal static class LoadedBoss { } internal static class DoDestroyPersonalPools { } internal static class GetImplicitCinematicVolume { } internal static class SetIsInventoryOpen { } internal static class CanPickupsExist { } internal static class IsMemoryScene { } internal static class IsMemoryScene_GlobalEnums_MapZone { } internal static class ForceCurrentSceneIsMemory { } internal static class _ctor { } internal static class _cctor { } internal static class SceneSeedTracker { internal static class _ctor { } } internal static class SceneLoadVisualizations { internal static class _ctor { } } internal static class SceneLoadInfo { internal static class _ctor { } internal new static class ToString { } internal static class NotifyFadedOut { } internal static class NotifyFetchComplete { } internal static class IsReadyToActivate { } internal static class NotifyFinished { } } internal static class Rb2dState { internal static class _ctor { } } internal static class __c { internal static class _ctor { } } internal static class __c__DisplayClass239_0 { internal static class _ctor { } } internal static class __c__DisplayClass245_0 { internal static class _ctor { } } internal static class __c__DisplayClass247_0 { internal static class _ctor { } } internal static class __c__DisplayClass362_0 { internal static class _ctor { } } internal static class __c__DisplayClass429_0 { internal static class _ctor { } } internal static class __c__DisplayClass429_1 { internal static class _ctor { } } internal static class __c__DisplayClass436_0 { internal static class _ctor { } } internal static class __c__DisplayClass436_1 { internal static class _ctor { } } internal static class __c__DisplayClass436_2 { internal static class _ctor { } } internal static class __c__DisplayClass436_3 { internal static class _ctor { } } internal static class __c__DisplayClass437_0 { internal static class _ctor { } } internal static class __c__DisplayClass437_1 { internal static class _ctor { } } internal static class __c__DisplayClass437_2 { internal static class _ctor { } } internal static class __c__DisplayClass442_0 { internal static class _ctor { } } internal static class __c__DisplayClass443_0 { internal static class _ctor { } } internal static class __c__DisplayClass444_0 { internal static class _ctor { } } internal static class __c__DisplayClass444_1 { internal static class _ctor { } } internal static class __c__DisplayClass444_2 { internal static class _ctor { } } internal static class __c__DisplayClass447_0 { internal static class _ctor { } } internal static class __c__DisplayClass448_0 { internal static class _ctor { } } internal static class __c__DisplayClass448_1 { internal static class _ctor { } } internal static class __c__DisplayClass448_2 { internal static class _ctor { } } internal static class __c__DisplayClass448_3 { internal static class _ctor { } } internal static class __c__DisplayClass448_4 { internal static class _ctor { } } internal static class __c__DisplayClass448_5 { internal static class _ctor { } } internal static class __c__DisplayClass448_6 { internal static class _ctor { } } internal static class __c__DisplayClass448_7 { internal static class _ctor { } } internal static class __c__DisplayClass448_8 { internal static class _ctor { } } internal static class __c__DisplayClass448_9 { internal static class _ctor { } } internal static class __c__DisplayClass452_0 { internal static class _ctor { } } internal static class __c__DisplayClass452_1 { internal static class _ctor { } } internal static class __c__DisplayClass479_0 { internal static class _ctor { } } internal static class __c__DisplayClass479_1 { internal static class _ctor { } } } namespace Md.PlayMakerFSM { internal static class OnEnable { public delegate void PrefixSignature(PlayMakerFSM self); public delegate void PostfixSignature(PlayMakerFSM self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(PlayMakerFSM).GetMethod("OnEnable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("PlayMakerFSM", "OnEnable"); } } internal static class OnDisable { public delegate void PrefixSignature(PlayMakerFSM self); public delegate void PostfixSignature(PlayMakerFSM self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(PlayMakerFSM).GetMethod("OnDisable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("PlayMakerFSM", "OnDisable"); } } internal static class Awake { public delegate void PrefixSignature(PlayMakerFSM self); public delegate void PostfixSignature(PlayMakerFSM self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(PlayMakerFSM).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("PlayMakerFSM", "Awake"); } } internal static class AddEventHandlerDelegate { internal static class Invoke { public delegate void PrefixSignature(AddEventHandlerDelegate self, ref PlayMakerFSM fsm); public delegate void PostfixSignature(AddEventHandlerDelegate self, ref PlayMakerFSM fsm); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(AddEventHandlerDelegate).GetMethod("Invoke", (BindingFlags)(-1), null, new Type[1] { typeof(PlayMakerFSM) }, null) ?? throw new MissingMethodException("PlayMakerFSM+AddEventHandlerDelegate", "Invoke"); } } internal static class _ctor { } internal static class BeginInvoke { } internal static class EndInvoke { } } internal static class _DoCoroutine_d__46 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("PlayMakerFSM+d__46, PlayMaker") ?? throw new Exception("Missing Type: 'PlayMakerFSM+d__46'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("PlayMakerFSM+d__46", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class OnDestroy { public delegate void PrefixSignature(PlayMakerFSM self); public delegate void PostfixSignature(PlayMakerFSM self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(PlayMakerFSM).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("PlayMakerFSM", "OnDestroy"); } } internal static class ShowFullFsmInspector { } internal static class get_VersionNotes { } internal static class get_VersionLabel { } internal static class get_FsmList { } internal static class FindFsmOnGameObject { } internal static class get_IsMainThread { } internal static class get_NotMainThread { } internal static class InitInEditor { } internal static class get_FsmTemplate { } internal static class get_DrawGizmos { } internal static class set_DrawGizmos { } internal static class Reset { } internal static class OnValidate { } internal static class Preprocess { } internal static class Init { } internal static class InitTemplate { } internal static class InitFsm { } internal static class AddEventHandlerComponents { } internal static class get_AddEventHandlers { } internal static class SetFsmTemplate { } internal static class Start { } internal static class Update { } internal static class DoCoroutine { } internal static class OnApplicationQuit { } internal static class OnDrawGizmos { } internal static class SetState { } internal static class ChangeState_HutongGames_PlayMaker_FsmEvent { } internal static class ChangeState_System_String { } internal static class SendEvent { } internal static class SendRemoteFsmEvent { } internal static class SendRemoteFsmEventWithData { } internal static class BroadcastEvent_System_String { } internal static class BroadcastEvent_HutongGames_PlayMaker_FsmEvent { } internal static class OnBecameVisible { } internal static class OnBecameInvisible { } internal static class get_Fsm { } internal static class set_Fsm { } internal static class get_FsmName { } internal static class set_FsmName { } internal static class get_FsmDescription { } internal static class set_FsmDescription { } internal static class get_Active { } internal static class get_ActiveStateName { } internal static class get_FsmStates { } internal static class get_FsmEvents { } internal static class get_FsmGlobalTransitions { } internal static class get_FsmVariables { } internal static class get_UsesTemplate { } internal static class OnBeforeSerialize { } internal static class OnAfterDeserialize { } internal static class DebugLog { } internal static class _ctor { } internal static class _cctor { } } namespace Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegionV2 { internal static class OnEnter { public delegate void PrefixSignature(CheckHeroPerformanceRegionV2 self); public delegate void PostfixSignature(CheckHeroPerformanceRegionV2 self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CheckHeroPerformanceRegionV2).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegionV2", "OnEnter"); } } internal static class get_IsActive { } internal static class get_TargetTransform { } internal static class get_TargetRadius { } internal static class get_NewDelay { } internal static class get_UseNeedolinRange { } internal static class get_IsNoiseResponder { } internal static class IsOnlyOnEnter { } internal static class Reset { } internal static class OnAffectedState { } internal static class SendEvents { } internal static class _ctor { } } namespace Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegion { internal static class OnEnter { public delegate void PrefixSignature(CheckHeroPerformanceRegion self); public delegate void PostfixSignature(CheckHeroPerformanceRegion self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CheckHeroPerformanceRegion).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegion", "OnEnter"); } } internal static class get_IsActive { } internal static class get_TargetTransform { } internal static class get_NewDelay { } internal static class get_UseNeedolinRange { } internal static class get_IsNoiseResponder { } internal static class IsOnlyOnEnter { } internal static class Reset { } internal static class OnAffectedState { } internal static class SendEvents { } internal static class _ctor { } } namespace Md.HutongGames.PlayMaker.Fsm { internal static class OnEnable { public delegate void PrefixSignature(Fsm self); public delegate void PostfixSignature(Fsm self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Fsm).GetMethod("OnEnable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Fsm", "OnEnable"); } } internal static class OnDisable { public delegate void PrefixSignature(Fsm self); public delegate void PostfixSignature(Fsm self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Fsm).GetMethod("OnDisable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Fsm", "OnDisable"); } } internal static class GetState { public delegate void PrefixSignature(Fsm self, ref string stateName); public delegate void PostfixSignature(Fsm self, ref string stateName, ref FsmState returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Fsm).GetMethod("GetState", (BindingFlags)(-1), null, new Type[1] { typeof(string) }, null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Fsm", "GetState"); } } internal static class Awake { public delegate void PrefixSignature(Fsm self); public delegate void PostfixSignature(Fsm self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Fsm).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Fsm", "Awake"); } } internal static class OnDestroy { public delegate void PrefixSignature(Fsm self); public delegate void PostfixSignature(Fsm self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Fsm).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("HutongGames.PlayMaker.Fsm", "OnDestroy"); } } internal static class get_FsmList { } internal static class get_SortedFsmList { } internal static class get_UpdateHelperSetDirty { } internal static class ClearOutputFlags { } internal static class GetOutputVariables { } internal static class GetOutputVariableNames { } internal static class SetOutputVariables { } internal static class SanityCheckOutputIndices { } internal static class OutVariableIndicesNeedFixing { } internal static class get_ManualUpdate { } internal static class set_ManualUpdate { } internal static class get_KeepDelayedEventsOnStateExit { } internal static class set_KeepDelayedEventsOnStateExit { } internal static class get_Preprocessed { } internal static class set_Preprocessed { } internal static class get_Host { } internal static class set_Host { } internal static class get_Password { } internal static class get_Locked { } internal static class Lock { } internal static class Unlock { } internal static class get_Template { } internal static class get_IsSubFsm { } internal static class get_RootFsm { } internal static class get_SubFsmList { } internal static class get_DefaultVariableValues { } internal static class set_DefaultVariableValues { } internal static class get_HasErrors { } internal static class set_HasErrors { } internal static class get_Started { } internal static class set_Started { } internal static class get_DelayedEvents { } internal static class KillDelayedEvents { } internal static class get_DataVersion { } internal static class set_DataVersion { } internal static class get_Owner { } internal static class set_Owner { } internal static class get_NameIsExpanded { } internal static class set_NameIsExpanded { } internal static class get_ControlsIsExpanded { } internal static class set_ControlsIsExpanded { } internal static class get_DebugIsExpanded { } internal static class set_DebugIsExpanded { } internal static class get_ExperimentalIsExpanded { } internal static class set_ExperimentalIsExpanded { } internal static class get_InfoIsExpanded { } internal static class set_InfoIsExpanded { } internal static class get_InputsIsExpanded { } internal static class set_InputsIsExpanded { } internal static class get_OutputsIsExpanded { } internal static class set_OutputsIsExpanded { } internal static class get_EventsIsExpanded { } internal static class set_EventsIsExpanded { } internal static class get_SettingsIsExpanded { } internal static class set_SettingsIsExpanded { } internal static class get_Name { } internal static class set_Name { } internal static class get_UsedInTemplate { } internal static class set_UsedInTemplate { } internal static class get_StartState { } internal static class set_StartState { } internal static class get_States { } internal static class set_States { } internal static class get_Events { } internal static class set_Events { } internal static class get_GlobalTransitions { } internal static class set_GlobalTransitions { } internal static class get_Variables { } internal static class set_Variables { } internal static class get_EventTarget { } internal static class set_EventTarget { } internal static class get_Initialized { } internal static class get_Active { } internal static class get_Finished { } internal static class set_Finished { } internal static class get_IsSwitchingState { } internal static class get_ActiveState { } internal static class set_ActiveState { } internal static class get_ActiveStateName { } internal static class get_PreviousActiveState { } internal static class set_PreviousActiveState { } internal static class get_LastTransition { } internal static class set_LastTransition { } internal static class get_MaxLoopCount { } internal static class get_MaxLoopCountOverride { } internal static class set_MaxLoopCountOverride { } internal static class get_OwnerName { } internal static class get_OwnerDebugName { } internal static class get_GameObject { } internal static class get_GameObjectName { } internal static class get_OwnerObject { } internal static class get_FsmComponent { } internal static class get_MyLog { } internal static class get_IsModifiedPrefabInstance { } internal static class set_IsModifiedPrefabInstance { } internal static class get_Description { } internal static class set_Description { } internal static class get_Watermark { } internal static class set_Watermark { } internal static class get_ShowStateLabel { } internal static class set_ShowStateLabel { } internal static class get_GuiLabel { } internal static class get_DocUrl { } internal static class set_DocUrl { } internal static class get_EditState { } internal static class set_EditState { } internal static class get_LastClickedObject { } internal static class set_LastClickedObject { } internal static class get_BreakpointsEnabled { } internal static class set_BreakpointsEnabled { } internal static class get_HitBreakpoint { } internal static class set_HitBreakpoint { } internal static class get_BreakAtFsm { } internal static class set_BreakAtFsm { } internal static class get_BreakAtState { } internal static class set_BreakAtState { } internal static class get_IsBreak { } internal static class set_IsBreak { } internal static class get_IsErrorBreak { } internal static class set_IsErrorBreak { } internal static class get_LastError { } internal static class set_LastError { } internal static class get_StepToStateChange { } internal static class set_StepToStateChange { } internal static class get_StepFsm { } internal static class set_StepFsm { } internal static class get_SwitchedState { } internal static class set_SwitchedState { } internal static class get_MouseEvents { } internal static class set_MouseEvents { } internal static class get_HandleLevelLoaded { } internal static class set_HandleLevelLoaded { } internal static class get_HandleTriggerEnter2D { } internal static class set_HandleTriggerEnter2D { } internal static class get_HandleTriggerExit2D { } internal static class set_HandleTriggerExit2D { } internal static class get_HandleTriggerStay2D { } internal static class set_HandleTriggerStay2D { } internal static class get_HandleCollisionEnter2D { } internal static class set_HandleCollisionEnter2D { } internal static class get_HandleCollisionExit2D { } internal static class set_HandleCollisionExit2D { } internal static class get_HandleCollisionStay2D { } internal static class set_HandleCollisionStay2D { } internal static class get_HandleTriggerEnter { } internal static class set_HandleTriggerEnter { } internal static class get_HandleTriggerExit { } internal static class set_HandleTriggerExit { } internal static class get_HandleTriggerStay { } internal static class set_HandleTriggerStay { } internal static class get_HandleCollisionEnter { } internal static class set_HandleCollisionEnter { } internal static class get_HandleCollisionExit { } internal static class set_HandleCollisionExit { } internal static class get_HandleCollisionStay { } internal static class set_HandleCollisionStay { } internal static class get_HandleParticleCollision { } internal static class set_HandleParticleCollision { } internal static class get_HandleControllerColliderHit { } internal static class set_HandleControllerColliderHit { } internal static class get_HandleJointBreak { } internal static class set_HandleJointBreak { } internal static class get_HandleJointBreak2D { } internal static class set_HandleJointBreak2D { } internal static class get_HandleOnGUI { } internal static class set_HandleOnGUI { } internal static class get_HandleFixedUpdate { } internal static class set_HandleFixedUpdate { } internal static class get_HandleLateUpdate { } internal static class set_HandleLateUpdate { } internal static class get_HandleApplicationEvents { } internal static class set_HandleApplicationEvents { } internal static class get_HandleUiEvents { } internal static class set_HandleUiEvents { } internal static class get_HandleLegacyNetworking { } internal static class set_HandleLegacyNetworking { } internal static class ForcePreprocess { } internal static class ResetEventHandlerFlags { } internal static class get_CollisionInfo { } internal static class set_CollisionInfo { } internal static class get_TriggerCollider { } internal static class set_TriggerCollider { } internal static class get_Collision2DInfo { } internal static class set_Collision2DInfo { } internal static class get_TriggerCollider2D { } internal static class set_TriggerCollider2D { } internal static class get_JointBreakForce { } internal static class set_JointBreakForce { } internal static class get_BrokenJoint2D { } internal static class set_BrokenJoint2D { } internal static class get_ParticleCollisionGO { } internal static class set_ParticleCollisionGO { } internal static class get_CollisionGO { } internal static class get_Collision2dGO { } internal static class get_TriggerGO { } internal static class get_Trigger2dGO { } internal static class get_TriggerName { } internal static class set_TriggerName { } internal static class get_CollisionName { } internal static class set_CollisionName { } internal static class get_Trigger2dName { } internal static class set_Trigger2dName { } internal static class get_Collision2dName { } internal static class set_Collision2dName { } internal static class get_ControllerCollider { } internal static class set_ControllerCollider { } internal static class get_RaycastHitInfo { } internal static class set_RaycastHitInfo { } internal static class RecordLastRaycastHit2DInfo { } internal static class GetLastRaycastHit2DInfo { } internal static class get_HandleAnimatorMove { } internal static class set_HandleAnimatorMove { } internal static class get_HandleAnimatorIK { } internal static class set_HandleAnimatorIK { } internal static class NewTempFsm { } internal static class _ctor { } internal static class _ctor_HutongGames_PlayMaker_Fsm_HutongGames_PlayMaker_FsmVariables { } internal static class CreateSubFsm { } internal static class GetRootFsm { } internal static class CheckIfDirty { } internal static class Reset { } internal static class UpdateDataVersion { } internal static class SaveActions { } internal static class Clear { } internal static class FixDataVersion { } internal static class DeduceDataVersion { } internal static class Preprocess_UnityEngine_MonoBehaviour { } internal static class Preprocess { } internal static class Init { } internal static class Reinitialize { } internal static class InitStates { } internal static class InitData { } internal static class InitEvents { } internal static class CheckFsmEventsForEventHandlers { } internal static class InitInEditor { } internal static class SaveDefaultVariableValues { } internal static class ResetVariableValues { } internal static class OnSceneLoaded { } internal static class Start { } internal static class Update { } internal static class UpdateDelayedEvents { } internal static class ClearDelayedEvents { } internal static class FixedUpdate { } internal static class LateUpdate { } internal static class SendDisableEvent { } internal static class Stop { } internal static class StopAndReset { } internal static class HasEvent { } internal static class ProcessEvent { } internal static class SetEventDataSentByInfo { } internal static class SetEventDataSentByInfo_HutongGames_PlayMaker_FsmEventData { } internal static class GetEventDataSentByInfo { } internal static class Event_HutongGames_PlayMaker_FsmEventTarget_System_String { } internal static class Event_UnityEngine_GameObject_HutongGames_PlayMaker_FsmEventTarget_HutongGames_PlayMaker_FsmEvent { } internal static class Event_UnityEngine_GameObject_HutongGames_PlayMaker_FsmEvent { } internal static class Event_HutongGames_PlayMaker_FsmEventTarget_HutongGames_PlayMaker_FsmEvent { } internal static class Event_System_String { } internal static class Event_HutongGames_PlayMaker_FsmEvent { } internal static class DelayedEvent_HutongGames_PlayMaker_FsmEvent_System_Single { } internal static class DelayedEvent_HutongGames_PlayMaker_FsmEventTarget_HutongGames_PlayMaker_FsmEvent_System_Single { } internal static class BroadcastEvent_System_String_System_Boolean { } internal static class BroadcastEvent_HutongGames_PlayMaker_FsmEvent_System_Boolean { } internal static class BroadcastEventToGameObject_UnityEngine_GameObject_System_String_System_Boolean_System_Boolean { } internal static class BroadcastEventToGameObject_UnityEngine_GameObject_HutongGames_PlayMaker_FsmEvent_HutongGames_PlayMaker_FsmEventData_System_Boolean_System_Boolean { } internal static class IsFsmChildOfGameObject { } internal static class SendEventToFsmOnGameObject_UnityEngine_GameObject_System_String_System_String { } internal static class SendEventToFsmOnGameObject_UnityEngine_GameObject_System_String_HutongGames_PlayMaker_FsmEvent { } internal static class HasState { } internal static class SetState { } internal static class UpdateStateChanges { } internal static class DoTransition { } internal static class SwitchState { } internal static class GotoPreviousState { } internal static class ReEnterState { } internal static class EnterState { } internal static class FixedUpdateState { } internal static class UpdateState { } internal static class LateUpdateState { } internal static class ExitState { } internal static class GetSubFsm { } internal static class GetFullFsmLabel { } internal static class GetOwnerDefaultTarget { } internal static class GetStateIndex { } internal static class GetEvent { } internal static class FindEvent { } internal static class CompareTo { } internal static class GetGlobalTransitionsToState { } internal static class GetFsmObject { } internal static class GetFsmMaterial { } internal static class GetFsmTexture { } internal static class GetFsmFloat { } internal static class GetFsmInt { } internal static class GetFsmBool { } internal static class GetFsmString { } internal static class GetFsmVector2 { } internal static class GetFsmVector3 { } internal static class GetFsmRect { } internal static class GetFsmQuaternion { } internal static class GetFsmColor { } internal static class GetFsmGameObject { } internal static class GetFsmArray { } internal static class GetFsmEnum { } internal static class OnDrawGizmos { } internal static class OnDrawGizmosSelected { } internal static class OnCollisionEnter { } internal static class OnCollisionStay { } internal static class OnCollisionExit { } internal static class OnTriggerEnter { } internal static class OnTriggerStay { } internal static class OnTriggerExit { } internal static class OnParticleCollision { } internal static class OnCollisionEnter2D { } internal static class OnCollisionStay2D { } internal static class OnCollisionExit2D { } internal static class OnTriggerEnter2D { } internal static class OnTriggerStay2D { } internal static class OnTriggerExit2D { } internal static class OnControllerColliderHit { } internal static class OnJointBreak { } internal static class OnJointBreak2D { } internal static class OnAnimatorMove { } internal static class OnAnimatorIK { } internal static class OnGUI { } internal static class DoBreakpoint { } internal static class DoBreakError { } internal static class DoBreak { } internal static class Continue { } internal static class DebugLog { } internal static class DebugEvent { } internal static class DebugLifetime { } internal static class DebugDebugger { } internal static class get_DebugLookAtColor { } internal static class set_DebugLookAtColor { } internal static class get_DebugRaycastColor { } internal static class set_DebugRaycastColor { } internal static class _cctor { } internal static class EditorFlags { internal static class _ctor { } } } namespace Md.CollectableItemPickup { internal static class OnEnable { public delegate void PrefixSignature(CollectableItemPickup self); public delegate void PostfixSignature(CollectableItemPickup self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CollectableItemPickup).GetMethod("OnEnable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("CollectableItemPickup", "OnEnable"); } } internal static class OnDisable { public delegate void PrefixSignature(CollectableItemPickup self); public delegate void PostfixSignature(CollectableItemPickup self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CollectableItemPickup).GetMethod("OnDisable", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("CollectableItemPickup", "OnDisable"); } } internal static class Awake { public delegate void PrefixSignature(CollectableItemPickup self); public delegate void PostfixSignature(CollectableItemPickup self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CollectableItemPickup).GetMethod("Awake", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("CollectableItemPickup", "Awake"); } } internal static class _Pickup_d__59 { internal static class MoveNext { public delegate void PrefixSignature(object self); public delegate void PostfixSignature(object self, ref bool returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return (Type.GetType("CollectableItemPickup+d__59, Assembly-CSharp") ?? throw new Exception("Missing Type: 'CollectableItemPickup+d__59'")).GetMethod("MoveNext", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("CollectableItemPickup+d__59", "MoveNext"); } } internal static class _ctor { } internal static class System_IDisposable_Dispose { } internal static class System_Collections_Generic_IEnumerator_System_Object__get_Current { } internal static class System_Collections_IEnumerator_Reset { } internal static class System_Collections_IEnumerator_get_Current { } } internal static class Pickup { public delegate void PrefixSignature(CollectableItemPickup self); public delegate void PostfixSignature(CollectableItemPickup self, ref IEnumerator returnValue); public delegate void PrefixMoveNextSignature(SpeakableEnumerator self); public delegate void PostfixMoveNextSignature(SpeakableEnumerator self, ref bool continueEnumeration); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MonoDetourHook PrefixMoveNext(PrefixMoveNextSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook((MethodBase)StateMachineTarget(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook PostfixMoveNext(PostfixMoveNextSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook((MethodBase)StateMachineTarget(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHookMoveNext(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook((MethodBase)StateMachineTarget(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(CollectableItemPickup).GetMethod("Pickup", (BindingFlags)(-1), null, Array.Empty(), null) ?? throw new MissingMethodException("CollectableItemPickup", "Pickup"); } public static MethodInfo StateMachineTarget() { return Extensions.GetStateMachineTarget((MethodInfo)Target()); } } internal static class get_IsPickupPaused { } internal static class set_IsPickupPaused { } internal static class get_IsWaitingForStoppedMoving { } internal static class get_Item { } internal static class IsPersistenceHandled { } internal static class get_PickupAnim { } internal static class set_PickupAnim { } internal static class Start { } internal static class Update { } internal static class Setup { } internal static class ResetPickupDelay { } internal static class DoPickup { } internal static class DoPickupInstant { } internal static class DoPickupAction { } internal static class StopRBMovement { } internal static class CancelPickup { } internal static class EndInteraction { } internal static class SetItem { } internal static class SetPlayerDataBool { } internal static class OnGetSaveState { } internal static class OnSetSaveState { } internal static class CheckActivation { } internal static class SetFling { } internal static class SetFlingLeft { } internal static class SetFlingRight { } internal static class FlingSelf { } internal static class FlingSelf_TeamCherry_SharedUtils_MinMaxFloat_TeamCherry_SharedUtils_MinMaxFloat { } internal static class SetActivation { } internal static class _ctor { } internal static class _cctor { } internal static class PickupAnimations { internal static class _ctor { } } internal static class FlingDirection { internal static class _ctor { } } } namespace MonoDetour.HookGen { internal static class DefaultMonoDetourManager { internal static MonoDetourManager Instance { get; } = New(); internal static MonoDetourManager New() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown return new MonoDetourManager(typeof(DefaultMonoDetourManager).Assembly.GetName().Name); } } [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class, AllowMultiple = true, Inherited = false)] internal class MonoDetourTargetsAttribute(Type? targetType = null) : Attribute(), IMonoDetourTargets { public Type? TargetType { get; } = targetType; public bool IncludeNestedTypes { get; set; } = true; public bool DistinguishOverloadsByName { get; set; } public string[]? Members { get; set; } public string[]? MemberNamePrefixes { get; set; } public string[]? MemberNameSuffixes { get; set; } public bool GenerateControlFlowVariants { get; set; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace Silksong.InvincibilityMonitor { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("io.github.invincibilitymonitor", "InvincibilityMonitor", "1.0.2")] public class InvincibilityMonitorPlugin : BaseUnityPlugin, IModMenuCustomMenu, IModMenuInterface { [CompilerGenerated] private static class <>O { public static MenuElementGenerator <0>__CreateGracePeriodElement; } private ConfigEntry? pluginEnabledConfig; private ConfigEntry? gracePeriodConfig; private readonly List conditionNames = new List(); private readonly List activeConditions = new List(); private int numActiveConditions; private float invincibilityCooldown; public const string Id = "io.github.invincibilitymonitor"; internal bool PluginEnabled => pluginEnabledConfig?.Value ?? false; private bool HasInvincibilityCondition { get { if (PluginEnabled) { return numActiveConditions > 0; } return false; } } private bool IsCurrentlyInvincible { get { if (!HasInvincibilityCondition) { return invincibilityCooldown > 0f; } return true; } } public static string Name => "InvincibilityMonitor"; public static string Version => "1.0.2"; internal event Action? OnPluginEnabledChanged; internal event Action? OnUpdate; private void Awake() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_0036: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Expected O, but got Unknown //IL_00a1: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Expected O, but got Unknown MonoDetourManager.InvokeHookInitializers(Assembly.GetExecutingAssembly()); pluginEnabledConfig = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("Main", "Enabled"), false, new ConfigDescription("Whether to apply any invincibility rules at all.", (AcceptableValueBase)null, Array.Empty())); pluginEnabledConfig.SettingChanged += delegate(object _, EventArgs args) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown SettingChangedEventArgs e = (SettingChangedEventArgs)args; this.OnPluginEnabledChanged?.Invoke((bool)e.ChangedSetting.BoxedValue); }; ConfigFile config = ((BaseUnityPlugin)this).Config; ConfigDefinition val = new ConfigDefinition("Main", "Grace Period"); object[] array = new object[1]; object obj = <>O.<0>__CreateGracePeriodElement; if (obj == null) { MenuElementGenerator val2 = CreateGracePeriodElement; <>O.<0>__CreateGracePeriodElement = val2; obj = (object)val2; } array[0] = obj; gracePeriodConfig = config.Bind(val, 0.2f, new ConfigDescription("Time (seconds) for invincibility to wear off.", (AcceptableValueBase)null, array)); foreach (InvincibilityCondition item in InvincibilityCondition.CreateAllConditions(this)) { int index = activeConditions.Count; activeConditions.Add(item: false); conditionNames.Add(item.Key); OnChange(item.IsEnabledAndActive); item.OnEnabledAndActiveChanged += OnChange; void OnChange(bool value) { if (activeConditions[index] != value) { activeConditions[index] = value; if (value) { numActiveConditions++; } else { numActiveConditions--; } } } } if (Chainloader.PluginInfos.ContainsKey("io.github.hk-speedrunning.debugmod")) { HookDebugMod(); } ((BaseUnityPlugin)this).Logger.LogInfo((object)("Plugin " + Name + " (io.github.invincibilitymonitor) has loaded!")); } public LocalizedText ModMenuName() { return LocalizedText.op_Implicit("Invincibility Monitor"); } public AbstractMenuScreen BuildCustomMenu() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Expected O, but got Unknown SimpleMenuScreen val = new SimpleMenuScreen("Invincibility Monitor"); PaginatedMenuScreenBuilder val2 = new PaginatedMenuScreenBuilder(LocalizedText.op_Implicit("Invincibility Conditions"), 8); ConfigEntryFactory val3 = new ConfigEntryFactory(); MenuElement val8 = default(MenuElement); foreach (var (val6, val7) in ((BaseUnityPlugin)this).Config) { if (val3.GenerateMenuElement(val7, ref val8)) { if (val6.Section == "Conditions") { val2.Add(val8); } else { val.Add(val8); } } } TextButton val9 = new TextButton(LocalizedText.op_Implicit("Conditions")); PaginatedMenuScreen conditions = val2.Build(); val9.OnSubmit = (Action)Delegate.Combine(val9.OnSubmit, (Action)delegate { MenuScreenNavigation.Show((AbstractMenuScreen)(object)conditions, (HistoryMode)0); }); val.Add((MenuElement)(object)val9); return (AbstractMenuScreen)(object)val; } private static bool CreateGracePeriodElement(ConfigEntryBase entry, out MenuElement menuElement) { ListSliderModel val = new ListSliderModel(new List(11) { 0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }) { DisplayFn = (int idx, float _) => LocalizedText.op_Implicit($"{(float)idx / 10f:0.0}") }; SliderElement val2 = new SliderElement(LocalizedText.op_Implicit("Grace Period"), (SliderModel)(object)val); ConfigEntryFactoryExtensions.SynchronizeRawWith((BaseSelectableValueElement)(object)val2, entry); menuElement = (MenuElement)(object)val2; return true; } private void HookDebugMod() { DebugMod.AddTextToInfoPanel("Invincible", (Func)(() => (!IsCurrentlyInvincible) ? "No" : "Yes"), (InfoPanelColumn)0); } private void OnEnable() { PlayerDataVariableEvents.OnGetVariable += OverrideIsInvincible; } private void OnDisable() { invincibilityCooldown = 0f; PlayerDataVariableEvents.OnGetVariable -= OverrideIsInvincible; } private void UpdateInvincibility() { if (HasInvincibilityCondition) { invincibilityCooldown = gracePeriodConfig?.Value ?? 0f; } else if (invincibilityCooldown > 0f) { invincibilityCooldown -= Time.deltaTime; if (invincibilityCooldown < 0f) { invincibilityCooldown = 0f; } } } private void InvokeCallbacks() { this.OnUpdate?.Invoke(); } private void Update() { UpdateInvincibility(); InvokeCallbacks(); } private bool OverrideIsInvincible(PlayerData playerData, string name, bool orig) { if (!orig) { if (name == "isInvincible") { return IsCurrentlyInvincible; } return false; } return true; } } } namespace Silksong.InvincibilityMonitor.Util { [MonoDetourTargets(typeof(Fsm))] [MonoDetourTargets(typeof(GameManager))] [MonoDetourTargets(typeof(PlayMakerFSM))] internal static class Events { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static GameStateEvent <>9__14_0; internal void b__14_0(GameState state) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) Events.OnGameStateChanged?.Invoke(state); } } private static readonly HashSet> rawFsmEdits; private static readonly HashMultimap> fsmEditsByName; private static readonly HashMultitable> fsmEditsByObjAndName; internal static event Action? OnGameStateChanged; internal static event Action? OnNextLevelReady; internal static void AddRawFsmEdit(Action fsmEdit) { rawFsmEdits.Add(fsmEdit); } internal static void AddFsmEdit(string fsmName, Action fsmEdit) { fsmEditsByName.Add(fsmName, fsmEdit); } internal static void AddFsmEdit(string objName, string fsmName, Action fsmEdit) { fsmEditsByObjAndName.Add(objName, fsmName, fsmEdit); } internal static void RemoveRawFsmEdit(Action fsmEdit) { rawFsmEdits.Remove(fsmEdit); } internal static void RemoveFsmEdit(string fsmName, Action fsmEdit) { fsmEditsByName.Remove(fsmName, fsmEdit); } internal static void RemoveFsmEdit(string objName, string fsmName, Action fsmEdit) { fsmEditsByObjAndName.Remove(objName, fsmName, fsmEdit); } private static void OnEnable(Fsm fsm) { foreach (Action rawFsmEdit in rawFsmEdits) { rawFsmEdit(fsm); } } private static void OnEnable(PlayMakerFSM fsm) { foreach (Action item in fsmEditsByName.Get(fsm.FsmName)) { item(fsm); } foreach (Action item2 in fsmEditsByObjAndName.Get(((Object)((Component)fsm).gameObject).name, fsm.FsmName)) { item2(fsm); } } private static void WatchGameStateChange(GameManager gameManager) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //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_0036: Expected O, but got Unknown Events.OnGameStateChanged?.Invoke(gameManager.GameState); object obj = <>c.<>9__14_0; if (obj == null) { GameStateEvent val = delegate(GameState state) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) Events.OnGameStateChanged?.Invoke(state); }; <>c.<>9__14_0 = val; obj = (object)val; } gameManager.GameStateChange += (GameStateEvent)obj; } private static void WatchOnNextLevelReady(GameManager gameManager) { Events.OnNextLevelReady?.Invoke(); } static Events() { rawFsmEdits = new HashSet>(); fsmEditsByName = new HashMultimap>(); fsmEditsByObjAndName = new HashMultitable>(); LifecycleUtil.OnGameManagerAwake += WatchGameStateChange; } [MonoDetourHookInitialize] private static void Hook() { Md.HutongGames.PlayMaker.Fsm.OnEnable.Postfix(OnEnable); Md.GameManager.OnNextLevelReady.Postfix(WatchOnNextLevelReady); Md.PlayMakerFSM.OnEnable.Postfix(OnEnable); } } internal static class FSMExtensions { internal static bool HasStates(this Fsm fsm, IEnumerable states) { HashSet hashSet = new HashSet(); foreach (string item in fsm.states.Select((FsmState s) => s.Name)) { hashSet.Add(item); } HashSet hashSet2 = hashSet; return states.All(hashSet2.Contains); } } internal static class GameObjectExtensions { internal static void DoOnDestroy(this GameObject self, Action action) { UnityExtensions.GetOrAddComponent(self).Event += action; } } internal class OnDestroyHelper : MonoBehaviour { internal event Action? Event; private void OnDestroy() { this.Event?.Invoke(); } } [MonoDetourTargets(typeof(GameManager))] [MonoDetourTargets(typeof(HeroController))] internal static class LifecycleUtil { private static readonly HashSet> gmAwakeActions = new HashSet>(); private static readonly HashSet> hcActions = new HashSet>(); internal static event Action OnGameManagerAwake { add { gmAwakeActions.Add(value); if ((Object)(object)GameManager.instance != (Object)null) { value(GameManager.instance); } } remove { gmAwakeActions.Remove(value); } } internal static event Action? OnGameManagerDestroy; internal static event Action OnHeroControllerAwake { add { hcActions.Add(value); if ((Object)(object)HeroController.instance != (Object)null) { value(HeroController.instance); } } remove { hcActions.Remove(value); } } internal static event Action? OnHeroControllerDestroy; private static void GameManagerPostfixAwake(GameManager self) { foreach (Action item in gmAwakeActions.ToList()) { item(self); } } private static void GameManagerPostfixDestroy(GameManager self) { LifecycleUtil.OnGameManagerDestroy?.Invoke(self); } private static void HeroControllerPostfixAwake(HeroController self) { foreach (Action item in hcActions.ToList()) { item(self); } } private static void HeroControllerPostfixDestroy(HeroController self) { LifecycleUtil.OnHeroControllerDestroy?.Invoke(self); } [MonoDetourHookInitialize] private static void Hook() { Md.GameManager.Awake.Postfix(GameManagerPostfixAwake); Md.GameManager.OnDestroy.Postfix(GameManagerPostfixDestroy); Md.HeroController.Awake.Postfix(HeroControllerPostfixAwake); Md.HeroController.OnDestroy.Postfix(HeroControllerPostfixDestroy); } } } namespace Silksong.InvincibilityMonitor.Conditions { internal class AnimationCondition : CallbackCondition { private static readonly HashSet CLIPS = new HashSet { "Abyss Kneel Back Idle", "Abyss Kneel Back Talk", "Abyss Kneel Idle", "Abyss Kneel to Stand", "Abyss Kneel Turn Back", "Challenge Strong", "Challenge Talk", "Challenge Talk End", "Challenge Talk End ToIdle", "Challenge Talk End ToTalk", "Challenge Talk Idle", "Challenge Talk Idle Start", "Challenge Talk Start", "ChallengeStrongToIdle", "Collect Heart Piece", "Collect Heart Piece End", "Collect Memory Orb", "Collect Normal 1", "Collect Normal 1 Q", "Collect Normal 2", "Collect Normal 3", "Collect Normal 3 Q", "Collect Silk Heart", "Collect Stand 1", "Collect Stand 2", "Collect Stand 3", "CollectToWound", "Crest Shrine Powerup Loop", "Dress Flourish", "DropToWounded", "GetUpToIdle", "Give Dress", "Give Dress Idle", "Hurt Talk Down", "Hurt Talk Up", "Hurt Talk Up Windy", "Idle Hurt Listen", "Idle Hurt Listen Backward", "Idle Hurt Listen Windy", "Idle Hurt Talk", "Idle Hurt Talk Backward", "Idle Hurt Talk Turn Backward", "Idle Hurt Talk Turn Forward", "Idle Hurt Talk Windy", "Kneel To Prostrate", "Kneeling", "Look Down Talk", "Look Up Half Talk", "Look Up Talk", "Prostrate", "Prostrate NoNeedle", "Prostrate Rise", "Prostrate Rise NoNeedle", "Prostrate Rise Slow", "ProstrateRiseToKneel", "ProstrateRiseToKneel NoLoop", "ProstrateRiseToWound", "Respawn Wake", "Roar Lock", "Roar To LookUp", "Talking Backward", "Talking Standard", "ToChallengeTalk", "TurnToChallengeIdle", "TurnToChallengeStrong", "TurnToChallengeTalk", "Wake", "Wake To Sit", "Wake Up Ground", "Weaver Pray", "Weaver Pray End", "Weaver Pray Prepare", "Weaver Pray Prepare Front" }; public override string Key => "Animation"; protected override string Description => "Invincible when in any one of various dialogue or recovery animations."; public AnimationCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { } protected override bool Callback() { HeroController instance = HeroController.instance; if ((Object)(object)instance == (Object)null) { return false; } string text = ((Component)instance).gameObject.GetComponent().CurrentClip?.name; if (text != null) { return CLIPS.Contains(text); } return false; } } internal class BenchCondition : InvincibilityCondition { public override string Key => "Bench"; protected override string Description => "Invincible when resting at a bench."; public BenchCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { } protected override void OnEnable() { base.Active = PlayerData.instance?.atBench ?? false; PlayerDataVariableEvents.OnSetVariable += SetAtBench; } protected override void OnDisable() { PlayerDataVariableEvents.OnSetVariable -= SetAtBench; base.Active = false; } private bool SetAtBench(PlayerData playerData, string name, bool value) { if (name == "atBench") { base.Active = value; } return value; } } internal class BossProgressionCondition : InvincibilityCondition { public override string Key => "Boss Progression"; protected override string Description => "After last-hitting Widow, the First Sinner, Grandmother Silk, or Lost Lace."; public BossProgressionCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { } protected override void OnEnable() { base.OnEnable(); Events.OnNextLevelReady += SetInactive; Events.AddFsmEdit("Spinner Boss", "Control", EditWeaver); Events.AddFsmEdit("First Weaver", "Control", EditWeaver); Events.AddFsmEdit("Silk Boss", "Phase Control", EditGMS); Events.AddFsmEdit("Lost Lace Boss", "Death Control", EditLostLace); } protected override void OnDisable() { Events.OnNextLevelReady -= SetInactive; Events.RemoveFsmEdit("Spinner Boss", "Control", EditWeaver); Events.RemoveFsmEdit("First Weaver", "Control", EditWeaver); Events.RemoveFsmEdit("Silk Boss", "Phase Control", EditGMS); Events.RemoveFsmEdit("Lost Lace Boss", "Death Control", EditLostLace); base.OnDisable(); } private void EditWeaver(PlayMakerFSM fsm) { FsmState state = FsmUtil.GetState(fsm, "Death Stagger"); if (state != null) { FsmUtil.InsertMethod(state, 0, (Action)delegate { base.Active = true; }, false); } } private void EditGMS(PlayMakerFSM fsm) { FsmUtil.InsertMethod(FsmUtil.GetState(fsm, "Death Hit"), 0, (Action)delegate { base.Active = true; }, false); } private void EditLostLace(PlayMakerFSM fsm) { FsmUtil.InsertMethod(FsmUtil.GetState(fsm, "Allow Death"), 0, (Action)delegate { base.Active = true; }, false); } private void SetInactive() { base.Active = false; } } internal abstract class CallbackCondition : InvincibilityCondition { protected CallbackCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { } protected abstract bool Callback(); private void InvokeCallback() { base.Active = Callback(); } protected override void OnEnable() { InvokeCallback(); plugin.OnUpdate += InvokeCallback; } protected override void OnDisable() { base.Active = false; plugin.OnUpdate -= InvokeCallback; } } internal class CutsceneCondition : GameStateCondition { public override string Key => "Cutscene"; protected override string Description => "While any cutscene is playing."; public CutsceneCondition(InvincibilityMonitorPlugin plugin) : base(plugin, new List(1) { (GameState)7 }) { } } [MonoDetourTargets(typeof(QuestItemBoard))] internal class DialogueCondition : CallbackCondition { private static DialogueCondition? instance; private readonly HashSet activeShops = new HashSet(); private readonly HashSet activeTolls = new HashSet(); private readonly HashSet questBoards = new HashSet(); private readonly HashSet questBoardFsms = new HashSet(); private static readonly HashSet boneBeastTravelStates = new HashSet { "Open map", "Choose Scene", "Fade", "Hero Jump", "Hero Fire", "Jump Sing", "Time Passes", "Go To Stag Cutscene" }; private readonly HashSet boneBeastFsms = new HashSet(); private static readonly HashSet ventricaTravelStates = new HashSet { "Interacted", "Hop In Antic", "Hop In", "Land In", "Open map", "Choose Scene", "Preload Scene", "Hero Press Button", "Close", "Leave", "Save State", "Fade Out", "Go To Next Scene" }; private readonly HashSet ventricaFsms = new HashSet(); public override string Key => "Dialogue"; protected override string Description => "Whenever Hornet is engaged in any dialogue interaction."; internal DialogueCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { instance = this; } protected override bool Callback() { if ((!((Object)(object)QuestYesNoBox._instance != (Object)null) || !IsActive((InventoryPaneBase?)(object)((YesNoBox)QuestYesNoBox._instance).pane)) && (!((Object)(object)QuestManager.instance != (Object)null) || !IsActive(QuestManager.instance)) && (!((Object)(object)DialogueYesNoBox._instance != (Object)null) || !IsActive((InventoryPaneBase?)(object)((YesNoBox)DialogueYesNoBox._instance).pane)) && (!((Object)(object)DialogueBox._instance != (Object)null) || !DialogueBox._instance.isDialogueRunning) && !activeShops.Any((PlayMakerFSM s) => s.Active && s.ActiveStateName != "Init" && s.ActiveStateName != "Idle") && activeTolls.Count <= 0 && !questBoards.Any((QuestItemBoard b) => IsActive((InventoryPaneBase?)(object)b.pane)) && !questBoardFsms.Any((PlayMakerFSM f) => f.Active && f.ActiveStateName != "Idle") && !boneBeastFsms.Any((PlayMakerFSM b) => boneBeastTravelStates.Contains(b.ActiveStateName))) { return ventricaFsms.Any((PlayMakerFSM v) => ventricaTravelStates.Contains(v.ActiveStateName)); } return true; } private static bool IsActive(InventoryPaneBase? pane) { if (!((Object)(object)pane != (Object)null)) { return false; } return pane.IsPaneActive; } private static bool IsActive(QuestManager qm) { if (!qm.spawnedQuestAcceptedSequence.activeInHierarchy) { return qm.spawnedQuestFinishedSequence.activeInHierarchy; } return true; } protected override void OnEnable() { base.OnEnable(); Events.AddRawFsmEdit(EditTollFsm); Events.AddFsmEdit("shop_control", EditShopFsm); Events.AddFsmEdit("Quest Board", "Hand In Sequence", EditQuestBoardFsm); Events.AddFsmEdit("Bone Beast NPC", "Interaction", EditBoneBeastFsm); Events.AddFsmEdit("City Travel Tube", "Tube Travel", EditVentricaFsm); } protected override void OnDisable() { Events.RemoveRawFsmEdit(EditTollFsm); Events.RemoveFsmEdit("shop_control", EditShopFsm); Events.RemoveFsmEdit("Quest Board", "Hand In Sequence", EditQuestBoardFsm); Events.RemoveFsmEdit("Bone Beast NPC", "Interaction", EditBoneBeastFsm); Events.RemoveFsmEdit("City Travel Tube", "Tube Travel", EditVentricaFsm); base.OnDisable(); } private void EditTollFsm(Fsm fsm) { if (fsm.HasStates(new <>z__ReadOnlyArray(new string[10] { "Get Text", "Confirm", "Cancel", "Start Sequence", "Wait For Currency Counter", "Taking Currency", "Wait Frame", "Before Sequence Pause", "Keep Reach", "End" }))) { FsmUtil.AddMethod(fsm.GetState("Start Sequence"), (Action)delegate { activeTolls.Add(fsm); }, false); FsmUtil.InsertMethod(fsm.GetState("End"), 0, (Action)delegate { activeTolls.Remove(fsm); }, false); ((Component)fsm.Host.FsmComponent).gameObject.DoOnDestroy(delegate { activeTolls.Remove(fsm); }); } } private void EditShopFsm(PlayMakerFSM fsm) { activeShops.Add(fsm); ((Component)fsm).gameObject.DoOnDestroy(delegate { activeShops.Remove(fsm); }); } private void EditQuestBoardFsm(PlayMakerFSM fsm) { questBoardFsms.Add(fsm); ((Component)fsm).gameObject.DoOnDestroy(delegate { questBoardFsms.Remove(fsm); }); } private void EditBoneBeastFsm(PlayMakerFSM fsm) { boneBeastFsms.Add(fsm); ((Component)fsm).gameObject.DoOnDestroy(delegate { boneBeastFsms.Remove(fsm); }); } private void EditVentricaFsm(PlayMakerFSM fsm) { ventricaFsms.Add(fsm); ((Component)fsm).gameObject.DoOnDestroy(delegate { ventricaFsms.Remove(fsm); }); } private static void PrefixQuestBoardAwake(QuestItemBoard self) { instance?.questBoards.Add(self); ((Component)self).gameObject.DoOnDestroy(delegate { instance?.questBoards.Remove(self); }); } [MonoDetourHookInitialize] private static void Hook() { Md.QuestItemBoard.Awake.Prefix(PrefixQuestBoardAwake); } } internal abstract class GameStateCondition : InvincibilityCondition { protected GameStateCondition(InvincibilityMonitorPlugin plugin, List gameStates) { P = gameStates; base..ctor(plugin); } protected override void OnEnable() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) base.Active = (Object)(object)GameManager.instance != (Object)null && P.Contains(GameManager.instance.GameState); Events.OnGameStateChanged += OnGameStateChanged; LifecycleUtil.OnGameManagerDestroy += OnGameManagerDestroy; } protected override void OnDisable() { Events.OnGameStateChanged -= OnGameStateChanged; LifecycleUtil.OnGameManagerDestroy -= OnGameManagerDestroy; base.Active = false; } private void OnGameManagerDestroy(GameManager gameManager) { base.Active = false; } private void OnGameStateChanged(GameState gameState) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) base.Active = P.Contains(gameState); } } internal abstract class InvincibilityCondition { internal const string SECTION = "Conditions"; protected readonly InvincibilityMonitorPlugin plugin; [CompilerGenerated] private bool k__BackingField; [CompilerGenerated] private bool k__BackingField; [CompilerGenerated] private bool k__BackingField; public abstract string Key { get; } protected abstract string Description { get; } protected bool IsEnabled { get { return k__BackingField; } private set { if (k__BackingField != value) { DoUpdate(delegate { k__BackingField = value; }); } } } protected bool IsConditionEnabled { get { return k__BackingField; } private set { if (k__BackingField != value) { DoUpdate(delegate { k__BackingField = value; }); } } } public bool IsEnabledAndActive { get { if (IsEnabled) { return Active; } return false; } } public bool Active { get { return k__BackingField; } set { if (k__BackingField != value) { DoUpdate(delegate { k__BackingField = value; }); } } } public event Action? OnEnabledAndActiveChanged; internal InvincibilityCondition(InvincibilityMonitorPlugin plugin) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Expected O, but got Unknown //IL_0058: Expected O, but got Unknown InvincibilityCondition invincibilityCondition = this; this.plugin = plugin; ConfigEntry val = ((BaseUnityPlugin)plugin).Config.Bind(new ConfigDefinition("Conditions", Key), false, new ConfigDescription(Description, (AcceptableValueBase)null, Array.Empty())); IsConditionEnabled = val.Value; IsEnabled = plugin.PluginEnabled && IsConditionEnabled; val.SettingChanged += delegate(object _, EventArgs args) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown SettingChangedEventArgs e = (SettingChangedEventArgs)args; invincibilityCondition.IsConditionEnabled = (bool)e.ChangedSetting.BoxedValue; }; plugin.OnPluginEnabledChanged += delegate { invincibilityCondition.IsEnabled = plugin.PluginEnabled && invincibilityCondition.IsConditionEnabled; }; if (IsEnabled) { OnEnable(); } } private void DoUpdate(Action modifier) { bool isEnabled = IsEnabled; bool isEnabledAndActive = IsEnabledAndActive; modifier(); bool isEnabled2 = IsEnabled; if (isEnabled2 != isEnabled) { if (isEnabled2) { OnEnable(); } else { OnDisable(); } } bool isEnabledAndActive2 = IsEnabledAndActive; if (isEnabledAndActive2 != isEnabledAndActive) { this.OnEnabledAndActiveChanged?.Invoke(isEnabledAndActive2); } } protected virtual void OnEnable() { } protected virtual void OnDisable() { } internal static List CreateAllConditions(InvincibilityMonitorPlugin plugin) { return new List(9) { new AnimationCondition(plugin), new BenchCondition(plugin), new BossProgressionCondition(plugin), new CutsceneCondition(plugin), new DialogueCondition(plugin), new NeedolinCondition(plugin), new PickupCondition(plugin), new RoarLockCondition(plugin), new TransitioningCondition(plugin) }; } } [MonoDetourTargets(typeof(CheckHeroPerformanceRegion))] [MonoDetourTargets(typeof(CheckHeroPerformanceRegionV2))] internal class NeedolinCondition : CallbackCondition { private static NeedolinCondition? instance; private readonly HashSet checks = new HashSet(); private readonly HashSet checksV2 = new HashSet(); public override string Key => "Needolin"; protected override string Description => "Invincible while a background object is responding to the Needolin"; internal NeedolinCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { instance = this; } private static bool IsNone(FsmEvent? fsmEvent) { if (fsmEvent != null) { return fsmEvent.name == ""; } return true; } protected override bool Callback() { if (!checks.Any((CheckHeroPerformanceRegion c) => !IsNone(c.None) && ((FsmStateAction)c).active)) { return checksV2.Any((CheckHeroPerformanceRegionV2 c) => !IsNone(c.None) && ((FsmStateAction)c).active); } return true; } private static void PostfixOnEnter(CheckHeroPerformanceRegion self) { instance?.checks.Add(self); ((FsmStateAction)self).Fsm.GameObject.DoOnDestroy(delegate { instance?.checks.Remove(self); }); } private static void PostfixOnEnter(CheckHeroPerformanceRegionV2 self) { instance?.checksV2.Add(self); ((FsmStateAction)self).Fsm.GameObject.DoOnDestroy(delegate { instance?.checksV2.Remove(self); }); } [MonoDetourHookInitialize] private static void Hook() { Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegion.OnEnter.Postfix(PostfixOnEnter); Md.HutongGames.PlayMaker.Actions.CheckHeroPerformanceRegionV2.OnEnter.Postfix(PostfixOnEnter); } } [MonoDetourTargets(typeof(CollectableItemPickup))] internal class PickupCondition : InvincibilityCondition { private static PickupCondition? instance; public override string Key => "Pickup"; protected override string Description => "Make Hornet invincible while grabbing shiny pickups"; internal PickupCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { instance = this; } private void ModifyPickup(CollectableItemPickup pickup, ref IEnumerator routine) { IEnumerator copy = routine; ((Component)pickup).gameObject.DoOnDestroy(delegate { base.Active = false; }); routine = Wrapped(); IEnumerator Wrapped() { base.Active = true; while (copy.MoveNext()) { yield return copy.Current; } base.Active = false; } } private static void PostfixPickup(CollectableItemPickup self, ref IEnumerator returnValue) { instance?.ModifyPickup(self, ref returnValue); } [MonoDetourHookInitialize] private static void Hook() { Pickup.Postfix(PostfixPickup); } } internal class RoarLockCondition : InvincibilityCondition { public override string Key => "Roar Lock"; protected override string Description => "When Hornet is stunned by a boss's roar animation."; public RoarLockCondition(InvincibilityMonitorPlugin plugin) : base(plugin) { } protected override void OnEnable() { LifecycleUtil.OnHeroControllerAwake += OnHeroControllerAwake; } protected override void OnDisable() { LifecycleUtil.OnHeroControllerAwake -= OnHeroControllerAwake; RoarLockMonitor roarLockMonitor = default(RoarLockMonitor); if ((Object)(object)HeroController.instance != (Object)null && (Object)(object)((Component)HeroController.instance).gameObject != (Object)null && ((Component)HeroController.instance).gameObject.TryGetComponent(ref roarLockMonitor)) { Object.Destroy((Object)(object)roarLockMonitor); } base.Active = false; } private void OnHeroControllerAwake(HeroController heroController) { ((Component)heroController).gameObject.AddComponent().SetRoarLocked = delegate(bool value) { base.Active = value; }; } } internal class RoarLockMonitor : MonoBehaviour { private PlayMakerFSM? roarFsm; private int roarLockedForFrames; internal Action? SetRoarLocked; private void Update() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Expected O, but got Unknown if ((Object)(object)roarFsm == (Object)null) { roarFsm = FSMUtility.LocateMyFSM(((Component)this).gameObject, "Roar and Wound States"); if ((Object)(object)roarFsm == (Object)null) { return; } FsmState state = FsmUtil.GetState(roarFsm, "Roar Lock Start"); if (state != null) { FsmUtil.InsertAction(state, (FsmStateAction)new LambdaAction { Method = delegate { roarLockedForFrames = 1; SetRoarLocked?.Invoke(obj: true); } }, 0); } } else if (roarLockedForFrames != 0 && ++roarLockedForFrames > 2 && HeroController.instance.acceptingInput) { roarLockedForFrames = 0; SetRoarLocked?.Invoke(obj: false); } } } internal class TransitioningCondition : GameStateCondition { public override string Key => "Transitioning"; protected override string Description => "While entering or exiting a level."; public TransitioningCondition(InvincibilityMonitorPlugin plugin) : base(plugin, new List(2) { (GameState)3, (GameState)6 }) { } } }