Decompiled source of XSplitScreen v3.1.4
XSplitScreen.dll
Decompiled 6 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using DoDad.XLibrary; using DoDad.XLibrary.Components; using DoDad.XLibrary.Interfaces; using DoDad.XLibrary.Language; using DoDad.XLibrary.Toolbox; using DoDad.XSplitScreen.Assignments; using DoDad.XSplitScreen.Components; using DoDad.XSplitScreen.Hooks; using IL.RoR2.UI; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using MonoMod.RuntimeDetour; using MonoMod.RuntimeDetour.HookGen; using Newtonsoft.Json; using On.RoR2; using On.RoR2.UI; using On.RoR2.UI.MainMenu; using R2API; using R2API.Utils; using Rewired; using Rewired.Integration.UnityUI; using Rewired.UI; using RoR2; using RoR2.UI; using RoR2.UI.MainMenu; using TMPro; using ThreeEyedGames; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")] [assembly: AssemblyCompany("XSplitScreen")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("0.0.1.0")] [assembly: AssemblyInformationalVersion("0.0.1+aac3b3a96679d6dd513dbcb4f872a460ca115b61")] [assembly: AssemblyProduct("XSplitScreen")] [assembly: AssemblyTitle("XSplitScreen")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.1.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace DoDad.Properties { [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [DebuggerNonUserCode] [CompilerGenerated] internal class Resources { private static ResourceManager resourceMan; private static CultureInfo resourceCulture; [EditorBrowsable(EditorBrowsableState.Advanced)] internal static ResourceManager ResourceManager { get { if (resourceMan == null) { ResourceManager resourceManager = new ResourceManager("XSplitScreen.Properties.Resources", typeof(Resources).Assembly); resourceMan = resourceManager; } return resourceMan; } } [EditorBrowsable(EditorBrowsableState.Advanced)] internal static CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } internal Resources() { } } } namespace DoDad.XSplitScreen { internal enum HookType { Singleplayer, Splitscreen, General } internal static class HookManager { [CompilerGenerated] private static class <>O { public static hook_AddUser <0>__LocalUserManager_AddUser; public static hook_Update <1>__SurvivorIconController_Update; public static hook_AddNodeToRoot <2>__ViewablesCatalog_AddNodeToRoot; public static hook_Awake <3>__MPButton_Awake; public static hook_Awake <4>__MPToggle_Awake; public static hook_Awake <5>__MPDropdown_Awake; public static hook_OnExit <6>__SubmenuMainMenuScreen_OnExit; public static hook_Start <7>__SettingsPanelController_Start; public static hook_Refresh <8>__InputSourceFilter_Refresh; public static hook_ValidateCurrentSelectedGameobject <9>__MPEventSystem_ValidateCurrentSelectedGameobject; public static hook_GetMousePointerEventData <10>__MPInputModule_GetMousePointerEventData; public static hook_OnEnable <11>__CursorOpener_OnEnable; public static hook_UpdateAvailability <12>__SurvivorIconController_UpdateAvailability; public static hook_PickIcon <13>__CharacterSelectBarController_PickIcon; public static hook_ShouldDisplaySurvivor <14>__CharacterSelectBarController_ShouldDisplaySurvivor; public static hook_Update <15>__CharacterSelectController_Update; public static hook_Update <16>__MPInput_Update; public static hook_UpdateDisplayData <17>__LoadoutPanelController_UpdateDisplayData; public static hook_Update <18>__MPButton_Update; public static hook_Start <19>__CameraRigController_Start; public static hook_OnEnable <20>__HUD_OnEnable; public static hook_CCTogglePause <21>__PauseManager_CCTogglePause; public static hook_Create <22>__SimpleDialogBox_Create; public static hook_OnUICameraPreCull <23>__LocalCameraEffect_OnUICameraPreCull; public static hook_SetLayoutHorizontal <24>__CombatHealthBarViewer_SetLayoutHorizontal; public static hook_UpdateUserName <25>__NetworkUser_UpdateUserName; public static hook_GetMultiplayerColor <26>__ColorCatalog_GetMultiplayerColor; public static hook_SetBody <27>__Nameplate_SetBody; public static hook_GetCurrentUserProfile <28>__BaseSettingsControl_GetCurrentUserProfile; public static hook_StartListening <29>__InputBindingControl_StartListening; public static hook_CenterCursor <30>__MPInput_CenterCursor; public static hook_Awake <31>__VoteInfoPanelController_Awake; public static hook_ClientSetReady <32>__CharacterSelectController_ClientSetReady; public static hook_ClientSetUnready <33>__CharacterSelectController_ClientSetUnready; public static hook_RecenterCursors <34>__MPEventSystem_RecenterCursors; public static hook_LateUpdate <35>__ProfileNameLabel_LateUpdate; public static hook_Awake <36>__ScoreboardController_Awake; public static hook_SetRandomVotes <37>__RuleCategoryController_SetRandomVotes; public static hook_SetTooltipProvider <38>__TooltipController_SetTooltipProvider; public static hook_Refresh <39>__InputBindingDisplayController_Refresh; public static hook_OnEnable <40>__InputBindingDisplayController_OnEnable; public static hook_Awake <41>__CustomScrollbar_Awake; public static hook_SetScale <42>__HUDScaleController_SetScale; public static hook_TakeDamage <43>__HealthComponent_TakeDamage; public static Action<Run> <44>__OnRunStartGlobal; public static Action<Run> <45>__OnRunDestroyGlobal; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Func<Instruction, bool> <>9__58_2; public static Func<Instruction, bool> <>9__58_3; public static Func<Instruction, bool> <>9__58_4; public static Func<Instruction, bool> <>9__58_5; public static Manipulator <>9__58_0; public static Func<Instruction, bool> <>9__58_6; public static Func<Instruction, bool> <>9__58_7; public static Func<Instruction, bool> <>9__58_8; public static Func<Instruction, bool> <>9__58_9; public static Manipulator <>9__58_1; public static Action <>9__61_0; public static Action <>9__61_1; internal void <MPEventSystem_Update_IL>b__58_0(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); val.GotoNext(new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdnull(x), (Instruction x) => ILPatternMatchingExt.MatchLdstr(x, "pause"), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0) }); val.Index += 1; val.Next.Operand = Input.lastEventSystem; OpCode opCode = val.Next.OpCode; Log.LogOutput($"OpCode.Op1: {((OpCode)(ref opCode)).Op1}"); opCode = val.Next.OpCode; Log.LogOutput($"OpCode.Op2: {((OpCode)(ref opCode)).Op2}"); opCode = val.Next.OpCode; Log.LogOutput($"OpCode.FlowControl: {((OpCode)(ref opCode)).FlowControl}"); Log.LogOutput($"Operand: {val.Next.Operand}"); } internal bool <MPEventSystem_Update_IL>b__58_2(Instruction x) { return ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"); } internal bool <MPEventSystem_Update_IL>b__58_3(Instruction x) { return ILPatternMatchingExt.MatchLdnull(x); } internal bool <MPEventSystem_Update_IL>b__58_4(Instruction x) { return ILPatternMatchingExt.MatchLdstr(x, "pause"); } internal bool <MPEventSystem_Update_IL>b__58_5(Instruction x) { return ILPatternMatchingExt.MatchLdcI4(x, 0); } internal void <MPEventSystem_Update_IL>b__58_1(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); val.GotoNext(new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdnull(x), (Instruction x) => ILPatternMatchingExt.MatchLdstr(x, "pause"), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0) }); val.Index += 1; val.Next.Operand = Input.lastEventSystem; OpCode opCode = val.Next.OpCode; Log.LogOutput($"OpCode.Op1: {((OpCode)(ref opCode)).Op1}"); opCode = val.Next.OpCode; Log.LogOutput($"OpCode.Op2: {((OpCode)(ref opCode)).Op2}"); opCode = val.Next.OpCode; Log.LogOutput($"OpCode.FlowControl: {((OpCode)(ref opCode)).FlowControl}"); Log.LogOutput($"Operand: {val.Next.Operand}"); } internal bool <MPEventSystem_Update_IL>b__58_6(Instruction x) { return ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"); } internal bool <MPEventSystem_Update_IL>b__58_7(Instruction x) { return ILPatternMatchingExt.MatchLdnull(x); } internal bool <MPEventSystem_Update_IL>b__58_8(Instruction x) { return ILPatternMatchingExt.MatchLdstr(x, "pause"); } internal bool <MPEventSystem_Update_IL>b__58_9(Instruction x) { return ILPatternMatchingExt.MatchLdcI4(x, 0); } internal void <SetGeneralRunDelegates>b__61_0() { foreach (MPEventSystem instances in MPEventSystem.instancesList) { ((Component)instances.cursorIndicatorController).GetComponent<Canvas>().targetDisplay = 0; } } internal void <SetGeneralRunDelegates>b__61_1() { foreach (LocalUser localUsers in LocalUserManager.localUsersList) { localUsers.currentNetworkUser.UpdateUserName(); } } } public static List<Action> onRunStartExecute { get; private set; } = new List<Action>(); public static List<Action> onRunDestroyExecute { get; private set; } = new List<Action>(); public static List<Hook> hooks { get; private set; } = new List<Hook>(); public static void InitializeCustomHookList() { hooks.Clear(); } public static void UpdateHooks(HookType hookType, bool enable) { //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Expected O, but got Unknown //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Expected O, but got Unknown //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_076b: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Expected O, but got Unknown //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Expected O, but got Unknown //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Expected O, but got Unknown //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Expected O, but got Unknown //IL_0787: Unknown result type (might be due to invalid IL or missing references) //IL_078c: Unknown result type (might be due to invalid IL or missing references) //IL_0792: Expected O, but got Unknown //IL_035b: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Expected O, but got Unknown //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Expected O, but got Unknown //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0313: Expected O, but got Unknown //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Expected O, but got Unknown //IL_07a8: Unknown result type (might be due to invalid IL or missing references) //IL_07ad: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Expected O, but got Unknown //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Expected O, but got Unknown //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Expected O, but got Unknown //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Expected O, but got Unknown //IL_07c9: Unknown result type (might be due to invalid IL or missing references) //IL_07ce: Unknown result type (might be due to invalid IL or missing references) //IL_07d4: Expected O, but got Unknown //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Unknown result type (might be due to invalid IL or missing references) //IL_03a8: Expected O, but got Unknown //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_07ef: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Expected O, but got Unknown //IL_03be: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Expected O, but got Unknown //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Expected O, but got Unknown //IL_080b: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_0816: Expected O, but got Unknown //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03ea: Expected O, but got Unknown //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Expected O, but got Unknown //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_082c: Unknown result type (might be due to invalid IL or missing references) //IL_0831: Unknown result type (might be due to invalid IL or missing references) //IL_0837: Expected O, but got Unknown //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Expected O, but got Unknown //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Expected O, but got Unknown //IL_084d: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_0858: Expected O, but got Unknown //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_042c: Expected O, but got Unknown //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Expected O, but got Unknown //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Expected O, but got Unknown //IL_086e: Unknown result type (might be due to invalid IL or missing references) //IL_0873: Unknown result type (might be due to invalid IL or missing references) //IL_0879: Expected O, but got Unknown //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_0447: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Expected O, but got Unknown //IL_088f: Unknown result type (might be due to invalid IL or missing references) //IL_0894: Unknown result type (might be due to invalid IL or missing references) //IL_089a: Expected O, but got Unknown //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Expected O, but got Unknown //IL_08b0: Unknown result type (might be due to invalid IL or missing references) //IL_08b5: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Expected O, but got Unknown //IL_0484: Unknown result type (might be due to invalid IL or missing references) //IL_0489: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Expected O, but got Unknown //IL_08d1: Unknown result type (might be due to invalid IL or missing references) //IL_08d6: Unknown result type (might be due to invalid IL or missing references) //IL_08dc: Expected O, but got Unknown //IL_04a5: Unknown result type (might be due to invalid IL or missing references) //IL_04aa: Unknown result type (might be due to invalid IL or missing references) //IL_04b0: Expected O, but got Unknown //IL_08f2: Unknown result type (might be due to invalid IL or missing references) //IL_08f7: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Expected O, but got Unknown //IL_04c6: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04d1: Expected O, but got Unknown //IL_0913: Unknown result type (might be due to invalid IL or missing references) //IL_0918: Unknown result type (might be due to invalid IL or missing references) //IL_091e: Expected O, but got Unknown //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Expected O, but got Unknown //IL_0934: Unknown result type (might be due to invalid IL or missing references) //IL_0939: Unknown result type (might be due to invalid IL or missing references) //IL_093f: Expected O, but got Unknown //IL_0508: Unknown result type (might be due to invalid IL or missing references) //IL_050d: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Expected O, but got Unknown //IL_0955: Unknown result type (might be due to invalid IL or missing references) //IL_095a: Unknown result type (might be due to invalid IL or missing references) //IL_0960: Expected O, but got Unknown //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_052e: Unknown result type (might be due to invalid IL or missing references) //IL_0534: Expected O, but got Unknown //IL_0976: Unknown result type (might be due to invalid IL or missing references) //IL_097b: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Expected O, but got Unknown //IL_054a: Unknown result type (might be due to invalid IL or missing references) //IL_054f: Unknown result type (might be due to invalid IL or missing references) //IL_0555: Expected O, but got Unknown //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_09a2: Expected O, but got Unknown //IL_056b: Unknown result type (might be due to invalid IL or missing references) //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_0576: Expected O, but got Unknown //IL_09b8: Unknown result type (might be due to invalid IL or missing references) //IL_09bd: Unknown result type (might be due to invalid IL or missing references) //IL_09c3: Expected O, but got Unknown //IL_058c: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_0597: Expected O, but got Unknown //IL_09d9: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09e4: Expected O, but got Unknown //IL_05ad: Unknown result type (might be due to invalid IL or missing references) //IL_05b2: Unknown result type (might be due to invalid IL or missing references) //IL_05b8: Expected O, but got Unknown //IL_09fa: Unknown result type (might be due to invalid IL or missing references) //IL_09ff: Unknown result type (might be due to invalid IL or missing references) //IL_0a05: Expected O, but got Unknown //IL_05ce: Unknown result type (might be due to invalid IL or missing references) //IL_05d3: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Expected O, but got Unknown //IL_0a1b: Unknown result type (might be due to invalid IL or missing references) //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: Expected O, but got Unknown //IL_05ef: Unknown result type (might be due to invalid IL or missing references) //IL_05f4: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Expected O, but got Unknown //IL_0a3c: Unknown result type (might be due to invalid IL or missing references) //IL_0a41: Unknown result type (might be due to invalid IL or missing references) //IL_0a47: Expected O, but got Unknown //IL_0610: Unknown result type (might be due to invalid IL or missing references) //IL_0615: Unknown result type (might be due to invalid IL or missing references) //IL_061b: Expected O, but got Unknown //IL_0a5d: Unknown result type (might be due to invalid IL or missing references) //IL_0a62: Unknown result type (might be due to invalid IL or missing references) //IL_0a68: Expected O, but got Unknown //IL_0631: Unknown result type (might be due to invalid IL or missing references) //IL_0636: Unknown result type (might be due to invalid IL or missing references) //IL_063c: Expected O, but got Unknown //IL_0a7e: Unknown result type (might be due to invalid IL or missing references) //IL_0a83: Unknown result type (might be due to invalid IL or missing references) //IL_0a89: Expected O, but got Unknown //IL_0652: Unknown result type (might be due to invalid IL or missing references) //IL_0657: Unknown result type (might be due to invalid IL or missing references) //IL_065d: Expected O, but got Unknown //IL_0a9f: Unknown result type (might be due to invalid IL or missing references) //IL_0aa4: Unknown result type (might be due to invalid IL or missing references) //IL_0aaa: Expected O, but got Unknown //IL_0673: Unknown result type (might be due to invalid IL or missing references) //IL_0678: Unknown result type (might be due to invalid IL or missing references) //IL_067e: Expected O, but got Unknown //IL_0ac0: Unknown result type (might be due to invalid IL or missing references) //IL_0ac5: Unknown result type (might be due to invalid IL or missing references) //IL_0acb: Expected O, but got Unknown //IL_0694: Unknown result type (might be due to invalid IL or missing references) //IL_0699: Unknown result type (might be due to invalid IL or missing references) //IL_069f: Expected O, but got Unknown //IL_0ae1: Unknown result type (might be due to invalid IL or missing references) //IL_0ae6: Unknown result type (might be due to invalid IL or missing references) //IL_0aec: Expected O, but got Unknown //IL_06b5: Unknown result type (might be due to invalid IL or missing references) //IL_06ba: Unknown result type (might be due to invalid IL or missing references) //IL_06c0: Expected O, but got Unknown //IL_0b02: Unknown result type (might be due to invalid IL or missing references) //IL_0b07: Unknown result type (might be due to invalid IL or missing references) //IL_0b0d: Expected O, but got Unknown //IL_06d6: Unknown result type (might be due to invalid IL or missing references) //IL_06db: Unknown result type (might be due to invalid IL or missing references) //IL_06e1: Expected O, but got Unknown //IL_0b23: Unknown result type (might be due to invalid IL or missing references) //IL_0b28: Unknown result type (might be due to invalid IL or missing references) //IL_0b2e: Expected O, but got Unknown //IL_06f7: Unknown result type (might be due to invalid IL or missing references) //IL_06fc: Unknown result type (might be due to invalid IL or missing references) //IL_0702: Expected O, but got Unknown //IL_0b44: Unknown result type (might be due to invalid IL or missing references) //IL_0b49: Unknown result type (might be due to invalid IL or missing references) //IL_0b4f: Expected O, but got Unknown //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Unknown result type (might be due to invalid IL or missing references) //IL_0723: Expected O, but got Unknown //IL_0739: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Unknown result type (might be due to invalid IL or missing references) //IL_0744: Expected O, but got Unknown switch (hookType) { case HookType.General: if (enable) { object obj70 = <>O.<0>__LocalUserManager_AddUser; if (obj70 == null) { hook_AddUser val70 = LocalUserManager_AddUser; <>O.<0>__LocalUserManager_AddUser = val70; obj70 = (object)val70; } LocalUserManager.AddUser += (hook_AddUser)obj70; object obj71 = <>O.<1>__SurvivorIconController_Update; if (obj71 == null) { hook_Update val71 = SurvivorIconController_Update; <>O.<1>__SurvivorIconController_Update = val71; obj71 = (object)val71; } SurvivorIconController.Update += (hook_Update)obj71; object obj72 = <>O.<2>__ViewablesCatalog_AddNodeToRoot; if (obj72 == null) { hook_AddNodeToRoot val72 = ViewablesCatalog_AddNodeToRoot; <>O.<2>__ViewablesCatalog_AddNodeToRoot = val72; obj72 = (object)val72; } ViewablesCatalog.AddNodeToRoot += (hook_AddNodeToRoot)obj72; object obj73 = <>O.<3>__MPButton_Awake; if (obj73 == null) { hook_Awake val73 = MPButton_Awake; <>O.<3>__MPButton_Awake = val73; obj73 = (object)val73; } MPButton.Awake += (hook_Awake)obj73; object obj74 = <>O.<4>__MPToggle_Awake; if (obj74 == null) { hook_Awake val74 = MPToggle_Awake; <>O.<4>__MPToggle_Awake = val74; obj74 = (object)val74; } MPToggle.Awake += (hook_Awake)obj74; object obj75 = <>O.<5>__MPDropdown_Awake; if (obj75 == null) { hook_Awake val75 = MPDropdown_Awake; <>O.<5>__MPDropdown_Awake = val75; obj75 = (object)val75; } MPDropdown.Awake += (hook_Awake)obj75; object obj76 = <>O.<6>__SubmenuMainMenuScreen_OnExit; if (obj76 == null) { hook_OnExit val76 = SubmenuMainMenuScreen_OnExit; <>O.<6>__SubmenuMainMenuScreen_OnExit = val76; obj76 = (object)val76; } SubmenuMainMenuScreen.OnExit += (hook_OnExit)obj76; object obj77 = <>O.<7>__SettingsPanelController_Start; if (obj77 == null) { hook_Start val77 = SettingsPanelController_Start; <>O.<7>__SettingsPanelController_Start = val77; obj77 = (object)val77; } SettingsPanelController.Start += (hook_Start)obj77; } else { object obj78 = <>O.<0>__LocalUserManager_AddUser; if (obj78 == null) { hook_AddUser val78 = LocalUserManager_AddUser; <>O.<0>__LocalUserManager_AddUser = val78; obj78 = (object)val78; } LocalUserManager.AddUser -= (hook_AddUser)obj78; object obj79 = <>O.<1>__SurvivorIconController_Update; if (obj79 == null) { hook_Update val79 = SurvivorIconController_Update; <>O.<1>__SurvivorIconController_Update = val79; obj79 = (object)val79; } SurvivorIconController.Update -= (hook_Update)obj79; object obj80 = <>O.<2>__ViewablesCatalog_AddNodeToRoot; if (obj80 == null) { hook_AddNodeToRoot val80 = ViewablesCatalog_AddNodeToRoot; <>O.<2>__ViewablesCatalog_AddNodeToRoot = val80; obj80 = (object)val80; } ViewablesCatalog.AddNodeToRoot -= (hook_AddNodeToRoot)obj80; object obj81 = <>O.<3>__MPButton_Awake; if (obj81 == null) { hook_Awake val81 = MPButton_Awake; <>O.<3>__MPButton_Awake = val81; obj81 = (object)val81; } MPButton.Awake -= (hook_Awake)obj81; object obj82 = <>O.<4>__MPToggle_Awake; if (obj82 == null) { hook_Awake val82 = MPToggle_Awake; <>O.<4>__MPToggle_Awake = val82; obj82 = (object)val82; } MPToggle.Awake -= (hook_Awake)obj82; object obj83 = <>O.<5>__MPDropdown_Awake; if (obj83 == null) { hook_Awake val83 = MPDropdown_Awake; <>O.<5>__MPDropdown_Awake = val83; obj83 = (object)val83; } MPDropdown.Awake -= (hook_Awake)obj83; object obj84 = <>O.<6>__SubmenuMainMenuScreen_OnExit; if (obj84 == null) { hook_OnExit val84 = SubmenuMainMenuScreen_OnExit; <>O.<6>__SubmenuMainMenuScreen_OnExit = val84; obj84 = (object)val84; } SubmenuMainMenuScreen.OnExit -= (hook_OnExit)obj84; object obj85 = <>O.<7>__SettingsPanelController_Start; if (obj85 == null) { hook_Start val85 = SettingsPanelController_Start; <>O.<7>__SettingsPanelController_Start = val85; obj85 = (object)val85; } SettingsPanelController.Start -= (hook_Start)obj85; } SetRunListeners(enable); break; case HookType.Singleplayer: if (enable) { object obj64 = <>O.<8>__InputSourceFilter_Refresh; if (obj64 == null) { hook_Refresh val64 = InputSourceFilter_Refresh; <>O.<8>__InputSourceFilter_Refresh = val64; obj64 = (object)val64; } InputSourceFilter.Refresh += (hook_Refresh)obj64; object obj65 = <>O.<9>__MPEventSystem_ValidateCurrentSelectedGameobject; if (obj65 == null) { hook_ValidateCurrentSelectedGameobject val65 = MPEventSystem_ValidateCurrentSelectedGameobject; <>O.<9>__MPEventSystem_ValidateCurrentSelectedGameobject = val65; obj65 = (object)val65; } MPEventSystem.ValidateCurrentSelectedGameobject += (hook_ValidateCurrentSelectedGameobject)obj65; object obj66 = <>O.<10>__MPInputModule_GetMousePointerEventData; if (obj66 == null) { hook_GetMousePointerEventData val66 = MPInputModule_GetMousePointerEventData; <>O.<10>__MPInputModule_GetMousePointerEventData = val66; obj66 = (object)val66; } MPInputModule.GetMousePointerEventData += (hook_GetMousePointerEventData)obj66; } else { object obj67 = <>O.<8>__InputSourceFilter_Refresh; if (obj67 == null) { hook_Refresh val67 = InputSourceFilter_Refresh; <>O.<8>__InputSourceFilter_Refresh = val67; obj67 = (object)val67; } InputSourceFilter.Refresh -= (hook_Refresh)obj67; object obj68 = <>O.<9>__MPEventSystem_ValidateCurrentSelectedGameobject; if (obj68 == null) { hook_ValidateCurrentSelectedGameobject val68 = MPEventSystem_ValidateCurrentSelectedGameobject; <>O.<9>__MPEventSystem_ValidateCurrentSelectedGameobject = val68; obj68 = (object)val68; } MPEventSystem.ValidateCurrentSelectedGameobject -= (hook_ValidateCurrentSelectedGameobject)obj68; object obj69 = <>O.<10>__MPInputModule_GetMousePointerEventData; if (obj69 == null) { hook_GetMousePointerEventData val69 = MPInputModule_GetMousePointerEventData; <>O.<10>__MPInputModule_GetMousePointerEventData = val69; obj69 = (object)val69; } MPInputModule.GetMousePointerEventData -= (hook_GetMousePointerEventData)obj69; } break; case HookType.Splitscreen: if (enable) { object obj = <>O.<11>__CursorOpener_OnEnable; if (obj == null) { hook_OnEnable val = CursorOpener_OnEnable; <>O.<11>__CursorOpener_OnEnable = val; obj = (object)val; } CursorOpener.OnEnable += (hook_OnEnable)obj; object obj2 = <>O.<12>__SurvivorIconController_UpdateAvailability; if (obj2 == null) { hook_UpdateAvailability val2 = SurvivorIconController_UpdateAvailability; <>O.<12>__SurvivorIconController_UpdateAvailability = val2; obj2 = (object)val2; } SurvivorIconController.UpdateAvailability += (hook_UpdateAvailability)obj2; object obj3 = <>O.<13>__CharacterSelectBarController_PickIcon; if (obj3 == null) { hook_PickIcon val3 = CharacterSelectBarController_PickIcon; <>O.<13>__CharacterSelectBarController_PickIcon = val3; obj3 = (object)val3; } CharacterSelectBarController.PickIcon += (hook_PickIcon)obj3; object obj4 = <>O.<14>__CharacterSelectBarController_ShouldDisplaySurvivor; if (obj4 == null) { hook_ShouldDisplaySurvivor val4 = CharacterSelectBarController_ShouldDisplaySurvivor; <>O.<14>__CharacterSelectBarController_ShouldDisplaySurvivor = val4; obj4 = (object)val4; } CharacterSelectBarController.ShouldDisplaySurvivor += (hook_ShouldDisplaySurvivor)obj4; object obj5 = <>O.<15>__CharacterSelectController_Update; if (obj5 == null) { hook_Update val5 = CharacterSelectController_Update; <>O.<15>__CharacterSelectController_Update = val5; obj5 = (object)val5; } CharacterSelectController.Update += (hook_Update)obj5; object obj6 = <>O.<16>__MPInput_Update; if (obj6 == null) { hook_Update val6 = MPInput_Update; <>O.<16>__MPInput_Update = val6; obj6 = (object)val6; } MPInput.Update += (hook_Update)obj6; object obj7 = <>O.<17>__LoadoutPanelController_UpdateDisplayData; if (obj7 == null) { hook_UpdateDisplayData val7 = LoadoutPanelController_UpdateDisplayData; <>O.<17>__LoadoutPanelController_UpdateDisplayData = val7; obj7 = (object)val7; } LoadoutPanelController.UpdateDisplayData += (hook_UpdateDisplayData)obj7; object obj8 = <>O.<18>__MPButton_Update; if (obj8 == null) { hook_Update val8 = MPButton_Update; <>O.<18>__MPButton_Update = val8; obj8 = (object)val8; } MPButton.Update += (hook_Update)obj8; object obj9 = <>O.<19>__CameraRigController_Start; if (obj9 == null) { hook_Start val9 = CameraRigController_Start; <>O.<19>__CameraRigController_Start = val9; obj9 = (object)val9; } CameraRigController.Start += (hook_Start)obj9; object obj10 = <>O.<20>__HUD_OnEnable; if (obj10 == null) { hook_OnEnable val10 = HUD_OnEnable; <>O.<20>__HUD_OnEnable = val10; obj10 = (object)val10; } HUD.OnEnable += (hook_OnEnable)obj10; object obj11 = <>O.<21>__PauseManager_CCTogglePause; if (obj11 == null) { hook_CCTogglePause val11 = PauseManager_CCTogglePause; <>O.<21>__PauseManager_CCTogglePause = val11; obj11 = (object)val11; } PauseManager.CCTogglePause += (hook_CCTogglePause)obj11; object obj12 = <>O.<22>__SimpleDialogBox_Create; if (obj12 == null) { hook_Create val12 = SimpleDialogBox_Create; <>O.<22>__SimpleDialogBox_Create = val12; obj12 = (object)val12; } SimpleDialogBox.Create += (hook_Create)obj12; object obj13 = <>O.<23>__LocalCameraEffect_OnUICameraPreCull; if (obj13 == null) { hook_OnUICameraPreCull val13 = LocalCameraEffect_OnUICameraPreCull; <>O.<23>__LocalCameraEffect_OnUICameraPreCull = val13; obj13 = (object)val13; } LocalCameraEffect.OnUICameraPreCull += (hook_OnUICameraPreCull)obj13; object obj14 = <>O.<24>__CombatHealthBarViewer_SetLayoutHorizontal; if (obj14 == null) { hook_SetLayoutHorizontal val14 = CombatHealthBarViewer_SetLayoutHorizontal; <>O.<24>__CombatHealthBarViewer_SetLayoutHorizontal = val14; obj14 = (object)val14; } CombatHealthBarViewer.SetLayoutHorizontal += (hook_SetLayoutHorizontal)obj14; object obj15 = <>O.<25>__NetworkUser_UpdateUserName; if (obj15 == null) { hook_UpdateUserName val15 = NetworkUser_UpdateUserName; <>O.<25>__NetworkUser_UpdateUserName = val15; obj15 = (object)val15; } NetworkUser.UpdateUserName += (hook_UpdateUserName)obj15; object obj16 = <>O.<26>__ColorCatalog_GetMultiplayerColor; if (obj16 == null) { hook_GetMultiplayerColor val16 = ColorCatalog_GetMultiplayerColor; <>O.<26>__ColorCatalog_GetMultiplayerColor = val16; obj16 = (object)val16; } ColorCatalog.GetMultiplayerColor += (hook_GetMultiplayerColor)obj16; object obj17 = <>O.<27>__Nameplate_SetBody; if (obj17 == null) { hook_SetBody val17 = Nameplate_SetBody; <>O.<27>__Nameplate_SetBody = val17; obj17 = (object)val17; } Nameplate.SetBody += (hook_SetBody)obj17; object obj18 = <>O.<28>__BaseSettingsControl_GetCurrentUserProfile; if (obj18 == null) { hook_GetCurrentUserProfile val18 = BaseSettingsControl_GetCurrentUserProfile; <>O.<28>__BaseSettingsControl_GetCurrentUserProfile = val18; obj18 = (object)val18; } BaseSettingsControl.GetCurrentUserProfile += (hook_GetCurrentUserProfile)obj18; object obj19 = <>O.<29>__InputBindingControl_StartListening; if (obj19 == null) { hook_StartListening val19 = InputBindingControl_StartListening; <>O.<29>__InputBindingControl_StartListening = val19; obj19 = (object)val19; } InputBindingControl.StartListening += (hook_StartListening)obj19; object obj20 = <>O.<30>__MPInput_CenterCursor; if (obj20 == null) { hook_CenterCursor val20 = MPInput_CenterCursor; <>O.<30>__MPInput_CenterCursor = val20; obj20 = (object)val20; } MPInput.CenterCursor += (hook_CenterCursor)obj20; object obj21 = <>O.<31>__VoteInfoPanelController_Awake; if (obj21 == null) { hook_Awake val21 = VoteInfoPanelController_Awake; <>O.<31>__VoteInfoPanelController_Awake = val21; obj21 = (object)val21; } VoteInfoPanelController.Awake += (hook_Awake)obj21; object obj22 = <>O.<32>__CharacterSelectController_ClientSetReady; if (obj22 == null) { hook_ClientSetReady val22 = CharacterSelectController_ClientSetReady; <>O.<32>__CharacterSelectController_ClientSetReady = val22; obj22 = (object)val22; } CharacterSelectController.ClientSetReady += (hook_ClientSetReady)obj22; object obj23 = <>O.<33>__CharacterSelectController_ClientSetUnready; if (obj23 == null) { hook_ClientSetUnready val23 = CharacterSelectController_ClientSetUnready; <>O.<33>__CharacterSelectController_ClientSetUnready = val23; obj23 = (object)val23; } CharacterSelectController.ClientSetUnready += (hook_ClientSetUnready)obj23; object obj24 = <>O.<34>__MPEventSystem_RecenterCursors; if (obj24 == null) { hook_RecenterCursors val24 = MPEventSystem_RecenterCursors; <>O.<34>__MPEventSystem_RecenterCursors = val24; obj24 = (object)val24; } MPEventSystem.RecenterCursors += (hook_RecenterCursors)obj24; object obj25 = <>O.<35>__ProfileNameLabel_LateUpdate; if (obj25 == null) { hook_LateUpdate val25 = ProfileNameLabel_LateUpdate; <>O.<35>__ProfileNameLabel_LateUpdate = val25; obj25 = (object)val25; } ProfileNameLabel.LateUpdate += (hook_LateUpdate)obj25; object obj26 = <>O.<36>__ScoreboardController_Awake; if (obj26 == null) { hook_Awake val26 = ScoreboardController_Awake; <>O.<36>__ScoreboardController_Awake = val26; obj26 = (object)val26; } ScoreboardController.Awake += (hook_Awake)obj26; object obj27 = <>O.<37>__RuleCategoryController_SetRandomVotes; if (obj27 == null) { hook_SetRandomVotes val27 = RuleCategoryController_SetRandomVotes; <>O.<37>__RuleCategoryController_SetRandomVotes = val27; obj27 = (object)val27; } RuleCategoryController.SetRandomVotes += (hook_SetRandomVotes)obj27; object obj28 = <>O.<38>__TooltipController_SetTooltipProvider; if (obj28 == null) { hook_SetTooltipProvider val28 = TooltipController_SetTooltipProvider; <>O.<38>__TooltipController_SetTooltipProvider = val28; obj28 = (object)val28; } TooltipController.SetTooltipProvider += (hook_SetTooltipProvider)obj28; object obj29 = <>O.<39>__InputBindingDisplayController_Refresh; if (obj29 == null) { hook_Refresh val29 = InputBindingDisplayController_Refresh; <>O.<39>__InputBindingDisplayController_Refresh = val29; obj29 = (object)val29; } InputBindingDisplayController.Refresh += (hook_Refresh)obj29; object obj30 = <>O.<40>__InputBindingDisplayController_OnEnable; if (obj30 == null) { hook_OnEnable val30 = InputBindingDisplayController_OnEnable; <>O.<40>__InputBindingDisplayController_OnEnable = val30; obj30 = (object)val30; } InputBindingDisplayController.OnEnable += (hook_OnEnable)obj30; object obj31 = <>O.<41>__CustomScrollbar_Awake; if (obj31 == null) { hook_Awake val31 = CustomScrollbar_Awake; <>O.<41>__CustomScrollbar_Awake = val31; obj31 = (object)val31; } CustomScrollbar.Awake += (hook_Awake)obj31; object obj32 = <>O.<42>__HUDScaleController_SetScale; if (obj32 == null) { hook_SetScale val32 = HUDScaleController_SetScale; <>O.<42>__HUDScaleController_SetScale = val32; obj32 = (object)val32; } HUDScaleController.SetScale += (hook_SetScale)obj32; bool flag = false; } else { object obj33 = <>O.<11>__CursorOpener_OnEnable; if (obj33 == null) { hook_OnEnable val33 = CursorOpener_OnEnable; <>O.<11>__CursorOpener_OnEnable = val33; obj33 = (object)val33; } CursorOpener.OnEnable -= (hook_OnEnable)obj33; object obj34 = <>O.<12>__SurvivorIconController_UpdateAvailability; if (obj34 == null) { hook_UpdateAvailability val34 = SurvivorIconController_UpdateAvailability; <>O.<12>__SurvivorIconController_UpdateAvailability = val34; obj34 = (object)val34; } SurvivorIconController.UpdateAvailability -= (hook_UpdateAvailability)obj34; object obj35 = <>O.<13>__CharacterSelectBarController_PickIcon; if (obj35 == null) { hook_PickIcon val35 = CharacterSelectBarController_PickIcon; <>O.<13>__CharacterSelectBarController_PickIcon = val35; obj35 = (object)val35; } CharacterSelectBarController.PickIcon -= (hook_PickIcon)obj35; object obj36 = <>O.<14>__CharacterSelectBarController_ShouldDisplaySurvivor; if (obj36 == null) { hook_ShouldDisplaySurvivor val36 = CharacterSelectBarController_ShouldDisplaySurvivor; <>O.<14>__CharacterSelectBarController_ShouldDisplaySurvivor = val36; obj36 = (object)val36; } CharacterSelectBarController.ShouldDisplaySurvivor -= (hook_ShouldDisplaySurvivor)obj36; object obj37 = <>O.<15>__CharacterSelectController_Update; if (obj37 == null) { hook_Update val37 = CharacterSelectController_Update; <>O.<15>__CharacterSelectController_Update = val37; obj37 = (object)val37; } CharacterSelectController.Update -= (hook_Update)obj37; object obj38 = <>O.<16>__MPInput_Update; if (obj38 == null) { hook_Update val38 = MPInput_Update; <>O.<16>__MPInput_Update = val38; obj38 = (object)val38; } MPInput.Update -= (hook_Update)obj38; object obj39 = <>O.<17>__LoadoutPanelController_UpdateDisplayData; if (obj39 == null) { hook_UpdateDisplayData val39 = LoadoutPanelController_UpdateDisplayData; <>O.<17>__LoadoutPanelController_UpdateDisplayData = val39; obj39 = (object)val39; } LoadoutPanelController.UpdateDisplayData -= (hook_UpdateDisplayData)obj39; object obj40 = <>O.<18>__MPButton_Update; if (obj40 == null) { hook_Update val40 = MPButton_Update; <>O.<18>__MPButton_Update = val40; obj40 = (object)val40; } MPButton.Update -= (hook_Update)obj40; object obj41 = <>O.<19>__CameraRigController_Start; if (obj41 == null) { hook_Start val41 = CameraRigController_Start; <>O.<19>__CameraRigController_Start = val41; obj41 = (object)val41; } CameraRigController.Start -= (hook_Start)obj41; object obj42 = <>O.<20>__HUD_OnEnable; if (obj42 == null) { hook_OnEnable val42 = HUD_OnEnable; <>O.<20>__HUD_OnEnable = val42; obj42 = (object)val42; } HUD.OnEnable -= (hook_OnEnable)obj42; object obj43 = <>O.<21>__PauseManager_CCTogglePause; if (obj43 == null) { hook_CCTogglePause val43 = PauseManager_CCTogglePause; <>O.<21>__PauseManager_CCTogglePause = val43; obj43 = (object)val43; } PauseManager.CCTogglePause -= (hook_CCTogglePause)obj43; object obj44 = <>O.<22>__SimpleDialogBox_Create; if (obj44 == null) { hook_Create val44 = SimpleDialogBox_Create; <>O.<22>__SimpleDialogBox_Create = val44; obj44 = (object)val44; } SimpleDialogBox.Create -= (hook_Create)obj44; object obj45 = <>O.<23>__LocalCameraEffect_OnUICameraPreCull; if (obj45 == null) { hook_OnUICameraPreCull val45 = LocalCameraEffect_OnUICameraPreCull; <>O.<23>__LocalCameraEffect_OnUICameraPreCull = val45; obj45 = (object)val45; } LocalCameraEffect.OnUICameraPreCull -= (hook_OnUICameraPreCull)obj45; object obj46 = <>O.<24>__CombatHealthBarViewer_SetLayoutHorizontal; if (obj46 == null) { hook_SetLayoutHorizontal val46 = CombatHealthBarViewer_SetLayoutHorizontal; <>O.<24>__CombatHealthBarViewer_SetLayoutHorizontal = val46; obj46 = (object)val46; } CombatHealthBarViewer.SetLayoutHorizontal -= (hook_SetLayoutHorizontal)obj46; object obj47 = <>O.<25>__NetworkUser_UpdateUserName; if (obj47 == null) { hook_UpdateUserName val47 = NetworkUser_UpdateUserName; <>O.<25>__NetworkUser_UpdateUserName = val47; obj47 = (object)val47; } NetworkUser.UpdateUserName -= (hook_UpdateUserName)obj47; object obj48 = <>O.<26>__ColorCatalog_GetMultiplayerColor; if (obj48 == null) { hook_GetMultiplayerColor val48 = ColorCatalog_GetMultiplayerColor; <>O.<26>__ColorCatalog_GetMultiplayerColor = val48; obj48 = (object)val48; } ColorCatalog.GetMultiplayerColor -= (hook_GetMultiplayerColor)obj48; object obj49 = <>O.<27>__Nameplate_SetBody; if (obj49 == null) { hook_SetBody val49 = Nameplate_SetBody; <>O.<27>__Nameplate_SetBody = val49; obj49 = (object)val49; } Nameplate.SetBody -= (hook_SetBody)obj49; object obj50 = <>O.<28>__BaseSettingsControl_GetCurrentUserProfile; if (obj50 == null) { hook_GetCurrentUserProfile val50 = BaseSettingsControl_GetCurrentUserProfile; <>O.<28>__BaseSettingsControl_GetCurrentUserProfile = val50; obj50 = (object)val50; } BaseSettingsControl.GetCurrentUserProfile -= (hook_GetCurrentUserProfile)obj50; object obj51 = <>O.<29>__InputBindingControl_StartListening; if (obj51 == null) { hook_StartListening val51 = InputBindingControl_StartListening; <>O.<29>__InputBindingControl_StartListening = val51; obj51 = (object)val51; } InputBindingControl.StartListening -= (hook_StartListening)obj51; object obj52 = <>O.<30>__MPInput_CenterCursor; if (obj52 == null) { hook_CenterCursor val52 = MPInput_CenterCursor; <>O.<30>__MPInput_CenterCursor = val52; obj52 = (object)val52; } MPInput.CenterCursor -= (hook_CenterCursor)obj52; object obj53 = <>O.<31>__VoteInfoPanelController_Awake; if (obj53 == null) { hook_Awake val53 = VoteInfoPanelController_Awake; <>O.<31>__VoteInfoPanelController_Awake = val53; obj53 = (object)val53; } VoteInfoPanelController.Awake -= (hook_Awake)obj53; object obj54 = <>O.<32>__CharacterSelectController_ClientSetReady; if (obj54 == null) { hook_ClientSetReady val54 = CharacterSelectController_ClientSetReady; <>O.<32>__CharacterSelectController_ClientSetReady = val54; obj54 = (object)val54; } CharacterSelectController.ClientSetReady -= (hook_ClientSetReady)obj54; object obj55 = <>O.<33>__CharacterSelectController_ClientSetUnready; if (obj55 == null) { hook_ClientSetUnready val55 = CharacterSelectController_ClientSetUnready; <>O.<33>__CharacterSelectController_ClientSetUnready = val55; obj55 = (object)val55; } CharacterSelectController.ClientSetUnready -= (hook_ClientSetUnready)obj55; object obj56 = <>O.<34>__MPEventSystem_RecenterCursors; if (obj56 == null) { hook_RecenterCursors val56 = MPEventSystem_RecenterCursors; <>O.<34>__MPEventSystem_RecenterCursors = val56; obj56 = (object)val56; } MPEventSystem.RecenterCursors -= (hook_RecenterCursors)obj56; object obj57 = <>O.<35>__ProfileNameLabel_LateUpdate; if (obj57 == null) { hook_LateUpdate val57 = ProfileNameLabel_LateUpdate; <>O.<35>__ProfileNameLabel_LateUpdate = val57; obj57 = (object)val57; } ProfileNameLabel.LateUpdate -= (hook_LateUpdate)obj57; object obj58 = <>O.<36>__ScoreboardController_Awake; if (obj58 == null) { hook_Awake val58 = ScoreboardController_Awake; <>O.<36>__ScoreboardController_Awake = val58; obj58 = (object)val58; } ScoreboardController.Awake -= (hook_Awake)obj58; object obj59 = <>O.<37>__RuleCategoryController_SetRandomVotes; if (obj59 == null) { hook_SetRandomVotes val59 = RuleCategoryController_SetRandomVotes; <>O.<37>__RuleCategoryController_SetRandomVotes = val59; obj59 = (object)val59; } RuleCategoryController.SetRandomVotes -= (hook_SetRandomVotes)obj59; object obj60 = <>O.<39>__InputBindingDisplayController_Refresh; if (obj60 == null) { hook_Refresh val60 = InputBindingDisplayController_Refresh; <>O.<39>__InputBindingDisplayController_Refresh = val60; obj60 = (object)val60; } InputBindingDisplayController.Refresh -= (hook_Refresh)obj60; object obj61 = <>O.<40>__InputBindingDisplayController_OnEnable; if (obj61 == null) { hook_OnEnable val61 = InputBindingDisplayController_OnEnable; <>O.<40>__InputBindingDisplayController_OnEnable = val61; obj61 = (object)val61; } InputBindingDisplayController.OnEnable -= (hook_OnEnable)obj61; object obj62 = <>O.<41>__CustomScrollbar_Awake; if (obj62 == null) { hook_Awake val62 = CustomScrollbar_Awake; <>O.<41>__CustomScrollbar_Awake = val62; obj62 = (object)val62; } CustomScrollbar.Awake -= (hook_Awake)obj62; object obj63 = <>O.<42>__HUDScaleController_SetScale; if (obj63 == null) { hook_SetScale val63 = HUDScaleController_SetScale; <>O.<42>__HUDScaleController_SetScale = val63; obj63 = (object)val63; } HUDScaleController.SetScale -= (hook_SetScale)obj63; bool flag2 = false; } SetGeneralRunDelegates(enable); SetGeneralHooks(enable); break; } } private static void CustomScrollbar_Awake(orig_Awake orig, CustomScrollbar self) { orig.Invoke(self); if ((Object)(object)((Component)self).gameObject.GetComponent<MultiInputHelper>() == (Object)null) { ((Component)self).gameObject.AddComponent<MultiInputHelper>().mpScrollbar = (MPScrollbar)(object)self; } } private static void SettingsPanelController_Start(orig_Start orig, SettingsPanelController self) { orig.Invoke(self); Slider[] componentsInChildren = ((Component)self).GetComponentsInChildren<Slider>(); foreach (Slider val in componentsInChildren) { if ((Object)(object)((Component)val).gameObject.GetComponent<MultiInputHelper>() == (Object)null) { ((Component)val).gameObject.AddComponent<MultiInputHelper>().slider = val; } } } private static void SubmenuMainMenuScreen_OnExit(orig_OnExit orig, SubmenuMainMenuScreen self, MainMenuController mainMenuController) { orig.Invoke(self, mainMenuController); Plugin.RecreateAssignmentScreen(); } private static void MPButton_Awake(orig_Awake orig, MPButton self) { orig.Invoke(self); if ((Object)(object)((Component)self).gameObject.GetComponent<MultiInputHelper>() == (Object)null) { ((Component)self).gameObject.AddComponent<MultiInputHelper>().mpButton = self; } } private static void MPToggle_Awake(orig_Awake orig, MPToggle self) { orig.Invoke(self); if ((Object)(object)((Component)self).gameObject.GetComponent<MultiInputHelper>() == (Object)null) { ((Component)self).gameObject.AddComponent<MultiInputHelper>().toggle = (Toggle)(object)self; } } private static void MPDropdown_Awake(orig_Awake orig, MPDropdown self) { orig.Invoke(self); if ((Object)(object)((Component)self).gameObject.GetComponent<MultiInputHelper>() == (Object)null) { ((Component)self).gameObject.AddComponent<MultiInputHelper>().mpDropdown = self; } } private static void ViewablesCatalog_AddNodeToRoot(orig_AddNodeToRoot orig, Node node) { node.SetParent(ViewablesCatalog.rootNode); foreach (Node item in node.Descendants()) { if (!ViewablesCatalog.fullNameToNodeMap.ContainsKey(item.fullName)) { ViewablesCatalog.fullNameToNodeMap.Add(item.fullName, item); } } } private static void LocalUserManager_AddUser(orig_AddUser orig, Player inputPlayer, UserProfile userProfile) { if (!LocalUserManager.UserExists(inputPlayer)) { int firstAvailableId = LocalUserManager.GetFirstAvailableId(); LocalSplitscreenUser localSplitscreenUser = new LocalSplitscreenUser(); ((LocalUser)localSplitscreenUser).inputPlayer = inputPlayer; ((LocalUser)localSplitscreenUser).id = firstAvailableId; ((LocalUser)localSplitscreenUser).userProfile = userProfile; LocalSplitscreenUser localSplitscreenUser2 = localSplitscreenUser; LocalUserManager.localUsersList.Add((LocalUser)(object)localSplitscreenUser2); userProfile.OnLogin(); MPEventSystem.FindByPlayer(inputPlayer).localUser = (LocalUser)(object)localSplitscreenUser2; ((Action<LocalUser>)typeof(LocalUserManager).GetField("onUserSignIn", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null))?.Invoke((LocalUser)(object)localSplitscreenUser2); ((Action)typeof(LocalUserManager).GetField("onLocalUsersUpdated", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null))?.Invoke(); } } private static void SurvivorIconController_Update(orig_Update orig, SurvivorIconController self) { if (!((Object)(object)EventSystem.current == (Object)null)) { EventSystem current = EventSystem.current; MPEventSystem val = (MPEventSystem)(object)((current is MPEventSystem) ? current : null); if (!((Object)(object)val == (Object)null)) { orig.Invoke(self); } } } private static object MPInputModule_GetMousePointerEventData(orig_GetMousePointerEventData orig, MPInputModule self, int playerId, int mouseIndex) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Invalid comparison between Unknown and I4 //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Expected O, but got Unknown //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_0425: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_04dd: Unknown result type (might be due to invalid IL or missing references) //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_050c: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Invalid comparison between Unknown and I4 //IL_0338: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) IMouseInputSource mouseInputSource = ((RewiredPointerInputModule)self).GetMouseInputSource(playerId, mouseIndex); if (mouseInputSource == null) { return null; } MPEventSystem val = (MPEventSystem)((BaseInputModule)self).eventSystem; Player val2 = (((int)val != 0) ? val.player : null); Controller lastActiveController = val2.controllers.GetLastActiveController(); if (val2 == null || lastActiveController == null || (int)lastActiveController.type == 1) { return orig.Invoke(self, playerId, mouseIndex); } PlayerPointerEventData val3 = default(PlayerPointerEventData); bool pointerData = ((RewiredPointerInputModule)self).GetPointerData(playerId, mouseIndex, -1, ref val3, true, (PointerEventType)0); ((AbstractEventData)val3).Reset(); Vector2 mousePosition = ((BaseInputModule)self).input.mousePosition; if (pointerData) { ((PointerEventData)val3).position = mousePosition; } if (mouseInputSource.locked || !mouseInputSource.enabled) { ((PointerEventData)val3).position = new Vector2(-1f, -1f); ((PointerEventData)val3).delta = Vector2.zero; } else { ((PointerEventData)val3).position = mousePosition; ((PointerEventData)val3).delta = mousePosition - ((PointerEventData)val3).position; } ((PointerEventData)val3).scrollDelta = mouseInputSource.wheelDelta; ((PointerEventData)val3).button = (InputButton)0; Vector2 position = ((PointerEventData)val3).position; EventSystem eventSystem = ((BaseInputModule)self).eventSystem; LocalSplitscreenUser localSplitscreenUser = ((MPEventSystem)((eventSystem is MPEventSystem) ? eventSystem : null)).localUser as LocalSplitscreenUser; if (Object.op_Implicit((Object)(object)Run.instance) && localSplitscreenUser != null && (Object)(object)((LocalUser)localSplitscreenUser).eventSystem.cursorIndicatorController?.currentChildIndicator != (Object)null) { Vector2 position2 = ((PointerEventData)val3).position; if (localSplitscreenUser.assignment.display != 0 && Display.displays[localSplitscreenUser.assignment.display].active) { for (int i = 0; i < localSplitscreenUser.assignment.display; i++) { if (Display.displays[i].active) { position2.x += Display.displays[i].systemWidth; } } position2.y += Display.displays[0].systemHeight - Display.displays[localSplitscreenUser.assignment.display].systemHeight; } ((PointerEventData)val3).position = position2; } ((BaseInputModule)self).eventSystem.RaycastAll((PointerEventData)(object)val3, ((BaseInputModule)self).m_RaycastResultCache); ((PointerEventData)val3).position = position; MPEventSystem val4 = (MPEventSystem)((BaseInputModule)self).eventSystem; if (val4.isCursorVisible) { if (val2.GetAnyButton()) { Input.UpdateEventSystem(val4); } if (val2.id > 0 && val2.controllers.joystickCount > 0 && val2.controllers.hasKeyboard) { if ((int)lastActiveController.type == 2) { if (!((BaseInputModule)self).eventSystem.sendNavigationEvents) { ((BaseInputModule)self).eventSystem.sendNavigationEvents = true; } } else if (((BaseInputModule)self).eventSystem.sendNavigationEvents) { ((BaseInputModule)self).eventSystem.sendNavigationEvents = false; } } if (self.useCursor && val2.controllers.joystickCount > 0) { MultiInputHelper multiInputHelper = null; foreach (RaycastResult item in ((BaseInputModule)self).m_RaycastResultCache) { RaycastResult current = item; GameObject gameObject = ((RaycastResult)(ref current)).gameObject; multiInputHelper = ((gameObject != null) ? gameObject.GetComponentInParent<MultiInputHelper>() : null); if ((Object)(object)multiInputHelper != (Object)null && !((Object)((RaycastResult)(ref current)).gameObject).name.ToLower().Contains("command")) { break; } multiInputHelper = null; } if ((Object)(object)multiInputHelper != (Object)null) { bool flag = val2.GetButtonDown(4) || val2.GetButtonDown(14); bool flag2 = val2.GetButton(4) || val2.GetButton(14); if (flag || flag2) { multiInputHelper.OnClick((PointerEventData)(object)val3, flag, flag2); } else { ((BaseInputModule)self).eventSystem.SetSelectedGameObject((GameObject)null); } } else { ((BaseInputModule)self).eventSystem.SetSelectedGameObject((GameObject)null); } } } RaycastResult pointerCurrentRaycast = BaseInputModule.FindFirstRaycast(((BaseInputModule)self).m_RaycastResultCache); ((PointerEventData)val3).pointerCurrentRaycast = pointerCurrentRaycast; self.UpdateHover(((BaseInputModule)self).m_RaycastResultCache); ((BaseInputModule)self).m_RaycastResultCache.Clear(); PlayerPointerEventData val5 = default(PlayerPointerEventData); ((RewiredPointerInputModule)self).GetPointerData(playerId, mouseIndex, -2, ref val5, true, (PointerEventType)0); ((RewiredPointerInputModule)self).CopyFromTo((PointerEventData)(object)val3, (PointerEventData)(object)val5); ((PointerEventData)val5).button = (InputButton)1; PlayerPointerEventData val6 = default(PlayerPointerEventData); ((RewiredPointerInputModule)self).GetPointerData(playerId, mouseIndex, -3, ref val6, true, (PointerEventType)0); ((RewiredPointerInputModule)self).CopyFromTo((PointerEventData)(object)val3, (PointerEventData)(object)val6); ((PointerEventData)val6).button = (InputButton)2; PlayerPointerEventData val7 = default(PlayerPointerEventData); for (int j = 3; j < mouseInputSource.buttonCount; j++) { ((RewiredPointerInputModule)self).GetPointerData(playerId, mouseIndex, j - 2147483520, ref val7, true, (PointerEventType)0); ((RewiredPointerInputModule)self).CopyFromTo((PointerEventData)(object)val3, (PointerEventData)(object)val7); ((PointerEventData)val7).button = (InputButton)(-1); } self.m_MouseState.SetButtonState(0, ((RewiredPointerInputModule)self).StateForMouseButton(playerId, mouseIndex, 0), val3); self.m_MouseState.SetButtonState(1, ((RewiredPointerInputModule)self).StateForMouseButton(playerId, mouseIndex, 1), val5); self.m_MouseState.SetButtonState(2, ((RewiredPointerInputModule)self).StateForMouseButton(playerId, mouseIndex, 2), val6); PlayerPointerEventData val8 = default(PlayerPointerEventData); for (int k = 3; k < mouseInputSource.buttonCount; k++) { ((RewiredPointerInputModule)self).GetPointerData(playerId, mouseIndex, k - 2147483520, ref val8, false, (PointerEventType)0); self.m_MouseState.SetButtonState(k, ((RewiredPointerInputModule)self).StateForMouseButton(playerId, mouseIndex, k), val8); } return self.m_MouseState; } private static void MPEventSystem_ValidateCurrentSelectedGameobject(orig_ValidateCurrentSelectedGameobject orig, MPEventSystem self) { if (Object.op_Implicit((Object)(object)((EventSystem)self).currentSelectedGameObject)) { Selectable component = ((EventSystem)self).currentSelectedGameObject.GetComponent<Selectable>(); MPButton val = (MPButton)(object)((component is MPButton) ? component : null); bool flag = !((Object)(object)component == (Object)null) && component.hasSelection; if ((Object)(object)val != (Object)null && !val.CanBeSelected()) { flag = false; } if (!flag) { ((EventSystem)self).SetSelectedGameObject((GameObject)null); } } } private static void InputSourceFilter_Refresh(orig_Refresh orig, InputSourceFilter self, bool forceRefresh) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Invalid comparison between Unknown and I4 InputSource? val = (InputSource)0; bool flag = ((val.GetValueOrDefault() == self.requiredInputSource) & val.HasValue) || (int)self.requiredInputSource == 0; if (flag != self.wasOn || forceRefresh) { for (int i = 0; i < self.objectsToFilter.Length; i++) { self.objectsToFilter[i].SetActive(flag); } } self.wasOn = flag; } private static void HUDScaleController_SetScale(orig_SetScale orig, HUDScaleController self) { //IL_0081: Unknown result type (might be due to invalid IL or missing references) if (!(((Component)self).GetComponent<HUD>().localUserViewer.currentNetworkUser.localUser is LocalSplitscreenUser localSplitscreenUser)) { orig.Invoke(self); return; } Vector3 localScale = default(Vector3); ((Vector3)(ref localScale))..ctor((float)localSplitscreenUser.assignment.hudScale / 100f, (float)localSplitscreenUser.assignment.hudScale / 100f, (float)localSplitscreenUser.assignment.hudScale / 100f); RectTransform[] rectTransforms = self.rectTransforms; foreach (RectTransform val in rectTransforms) { ((Transform)val).localScale = localScale; } } private static void InputBindingDisplayController_OnEnable(orig_OnEnable orig, InputBindingDisplayController self) { orig.Invoke(self); self.Refresh(true); } private static void InputBindingDisplayController_Refresh(orig_Refresh orig, InputBindingDisplayController self, bool forceRefresh) { MPEventSystem eventSystem = self.eventSystemLocator.eventSystem; if (((Object)self).name.Equals("ButtonText")) { self.eventSystemLocator.eventSystem = Input.lastEventSystem; } orig.Invoke(self, forceRefresh); self.eventSystemLocator.eventSystem = eventSystem; } private static void TooltipController_SetTooltipProvider(orig_SetTooltipProvider orig, TooltipController self, TooltipProvider provider) { orig.Invoke(self, provider); UICamera uiCamera = self.uiCamera; if ((Object)(object)((uiCamera != null) ? uiCamera.camera : null) != (Object)null) { ((Component)self).GetComponent<Canvas>().targetDisplay = self.uiCamera.camera.targetDisplay; } } private static void RuleCategoryController_SetRandomVotes(orig_SetRandomVotes orig, RuleCategoryController self) { MPEventSystem eventSystem = self.eventSystemLocator.eventSystem; self.eventSystemLocator.eventSystem = Input.lastEventSystem; orig.Invoke(self); self.eventSystemLocator.eventSystem = eventSystem; } private static void ScoreboardController_Awake(orig_Awake orig, ScoreboardController self) { orig.Invoke(self); ((Component)((Component)((Component)self).transform).GetComponentInChildren<PostProcessDuration>()).gameObject.SetActive(false); } private static void ProfileNameLabel_LateUpdate(orig_LateUpdate orig, ProfileNameLabel self) { if (!(Input.lastEventSystem.localUser.userProfile.name == self.currentUserName)) { self.currentUserName = Input.lastEventSystem.localUser.userProfile.name; ((TMP_Text)self.label).text = Language.GetStringFormatted(self.token, new object[1] { self.currentUserName }); } } private static void MPEventSystem_RecenterCursors(orig_RecenterCursors orig) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) Log.LogOutput("MPEventSystem_RecenterCursors"); foreach (MPEventSystem instances in MPEventSystem.instancesList) { if (Object.op_Implicit((Object)(object)((EventSystem)instances).currentInputModule)) { ((MPInput)((EventSystem)instances).currentInputModule.input).CenterCursor(); } } } private static void CharacterSelectController_ClientSetUnready(orig_ClientSetUnready orig, CharacterSelectController self) { LocalUser localUser = Input.lastEventSystem.localUser; if (localUser != null) { NetworkUser currentNetworkUser = localUser.currentNetworkUser; if (currentNetworkUser != null) { currentNetworkUser.CallCmdSubmitVote(((Component)PreGameController.instance).gameObject, -1); } } } private static void CharacterSelectController_ClientSetReady(orig_ClientSetReady orig, CharacterSelectController self) { LocalUser localUser = Input.lastEventSystem.localUser; if (localUser != null) { NetworkUser currentNetworkUser = localUser.currentNetworkUser; if (currentNetworkUser != null) { currentNetworkUser.CallCmdSubmitVote(((Component)PreGameController.instance).gameObject, 0); } } } private static void VoteInfoPanelController_Awake(orig_Awake orig, VoteInfoPanelController self) { if (RoR2Application.isInMultiPlayer || Plugin.active) { self.voteController.canChangeVote = true; } else { ((Component)self).gameObject.SetActive(false); } } private static void MPInput_CenterCursor(orig_CenterCursor orig, MPInput self) { //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) Log.LogOutput("MPInput_CenterCursor"); if (self.eventSystem.localUser is LocalSplitscreenUser localSplitscreenUser && localSplitscreenUser.assignment.display != -1 && localSplitscreenUser.assignment.display < Display.displays.Length) { Vector2 val = new Vector2((float)Display.displays[localSplitscreenUser.assignment.display].systemWidth, (float)Display.displays[localSplitscreenUser.assignment.display].systemHeight) * 0.5f; Vector2 val2 = val / 2f; if (localSplitscreenUser.assignment.position.y > 1) { val.y += val2.y; } else if (localSplitscreenUser.assignment.position.y < 1) { val.y -= val2.y; } if (localSplitscreenUser.assignment.position.x > 1) { val.x += val2.x; } else if (localSplitscreenUser.assignment.position.x < 1) { val.x -= val2.x; } self.internalMousePosition = val; } else { orig.Invoke(self); } } private static void InputBindingControl_StartListening(orig_StartListening orig, InputBindingControl self) { MPEventSystem eventSystem = self.eventSystemLocator.eventSystem; self.eventSystemLocator.eventSystem = Input.lastEventSystem; orig.Invoke(self); self.eventSystemLocator.eventSystem = eventSystem; } private static UserProfile BaseSettingsControl_GetCurrentUserProfile(orig_GetCurrentUserProfile orig, BaseSettingsControl self) { MPEventSystem lastEventSystem = Input.lastEventSystem; object result; if (lastEventSystem == null) { result = null; } else { LocalUser localUser = lastEventSystem.localUser; result = ((localUser != null) ? localUser.userProfile : null); } return (UserProfile)result; } private static Color ColorCatalog_GetMultiplayerColor(orig_GetMultiplayerColor orig, int playerSlot) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) if (MPEventSystem.activeCount <= 1) { return Color.white; } return ((LocalSplitscreenUser)(object)LocalUserManager.localUsersList[playerSlot]).assignment.color; } private static void Nameplate_SetBody(orig_SetBody orig, Nameplate self, CharacterBody body) { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) self.body = body; CharacterBody body2 = self.body; object obj; if (body2 == null) { obj = null; } else { CharacterMaster master = body2.master; if (master == null) { obj = null; } else { PlayerCharacterMasterController playerCharacterMasterController = master.playerCharacterMasterController; obj = ((playerCharacterMasterController == null) ? null : playerCharacterMasterController.networkUser?.localUser); } } if (obj != null) { self.baseColor = ColorCatalog.GetMultiplayerColor(self.body.master.playerCharacterMasterController.networkUser.localUser.id); } } private static void NetworkUser_UpdateUserName(orig_UpdateUserName orig, NetworkUser self) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) LocalSplitscreenUser localSplitscreenUser = self.localUser as LocalSplitscreenUser; if (self.localUser == null) { Log.LogOutput("Local user is null"); NetworkPlayerName networkPlayerName = self.GetNetworkPlayerName(); self.userName = ((NetworkPlayerName)(ref networkPlayerName)).GetResolvedName(); } else { Log.LogOutput("Local user is NOT null"); self.userName = ((LocalUser)localSplitscreenUser).userProfile.name; } } private static void CombatHealthBarViewer_SetLayoutHorizontal(orig_SetLayoutHorizontal orig, CombatHealthBarViewer self) { if (Object.op_Implicit((Object)(object)self.uiCamera)) { self.UpdateAllHealthbarPositions(self.uiCamera.cameraRigController.sceneCam, self.uiCamera.camera); } } private static void LocalCameraEffect_OnUICameraPreCull(orig_OnUICameraPreCull orig, UICamera uiCamera) { GameObject target = uiCamera.cameraRigController.target; for (int i = 0; i < LocalCameraEffect.instancesList.Count; i++) { LocalCameraEffect val = LocalCameraEffect.instancesList[i]; object obj; if (uiCamera == null) { obj = null; } else { CameraRigController cameraRigController = uiCamera.cameraRigController; if (cameraRigController == null) { obj = null; } else { LocalUser localUserViewer = cameraRigController.localUserViewer; if (localUserViewer == null) { obj = null; } else { CharacterBody cachedBody = localUserViewer.cachedBody; obj = ((cachedBody != null) ? cachedBody.healthComponent : null); } } } HealthComponent val2 = (HealthComponent)obj; if (Object.op_Implicit((Object)(object)val2)) { if ((Object)(object)val.targetCharacter == (Object)(object)target && val2.alive) { val.effectRoot.SetActive(true); } else { val.effectRoot.SetActive(false); } } } } private static SimpleDialogBox SimpleDialogBox_Create(orig_Create orig, MPEventSystem owner) { SimpleDialogBox val = orig.Invoke(owner); if (Object.op_Implicit((Object)(object)Run.instance) && (Object)(object)Input.lastEventSystem != (Object)null) { ((Component)((Component)val).transform.parent).gameObject.AddComponent<MultiMonitorHelper>().targetDisplay = ((LocalSplitscreenUser)(object)Input.lastEventSystem.localUser).assignment.display; } return val; } private static void MPEventSystem_Update(orig_Update orig, MPEventSystem self) { EventSystem current = EventSystem.current; EventSystem.current = (EventSystem)(object)self; IntPtr functionPointer = typeof(EventSystem).GetMethod("Update", (BindingFlags)(-1)).MethodHandle.GetFunctionPointer(); Action action = (Action)Activator.CreateInstance(typeof(Action), self, functionPointer); action(); EventSystem.current = current; self.ValidateCurrentSelectedGameobject(); if (self.player.GetButtonDown(25) && (PauseScreenController.instancesList.Count == 0 || SimpleDialogBox.instancesList.Count == 0)) { Console instance = Console.instance; LocalUser localUser = self.localUser; instance.SubmitCmd((localUser != null) ? localUser.currentNetworkUser : null, "pause", false); } } private static void PauseManager_CCTogglePause(orig_CCTogglePause orig, ConCommandArgs args) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) if (args.localUserSender != null) { LocalSplitscreenUser localSplitscreenUser = args.localUserSender as LocalSplitscreenUser; if (Object.op_Implicit((Object)(object)PauseManager.pauseScreenInstance)) { Object.Destroy((Object)(object)localSplitscreenUser.pauseScreenInstance); { foreach (LocalSplitscreenUser localUsers in LocalUserManager.localUsersList) { if ((Object)(object)localUsers.pauseScreenInstance != (Object)null) { PauseManager.pauseScreenInstance = localUsers.pauseScreenInstance; } } return; } } if (NetworkManager.singleton.isNetworkActive) { PauseManager.pauseScreenInstance = Object.Instantiate<GameObject>(LegacyResourcesAPI.Load<GameObject>("Prefabs/UI/PauseScreen"), ((Component)RoR2Application.instance).transform); localSplitscreenUser.pauseScreenInstance = PauseManager.pauseScreenInstance; localSplitscreenUser.pauseScreenInstance.GetComponent<Canvas>().targetDisplay = localSplitscreenUser.assignment.display; } } else { orig.Invoke(args); } } private static void HUD_OnEnable(orig_OnEnable orig, HUD self) { orig.Invoke(self); LocalUser localUserViewer = self.localUserViewer; if (((localUserViewer == null) ? null : localUserViewer.currentNetworkUser?.localUser) != null) { self.canvas.targetDisplay = (self.localUserViewer.currentNetworkUser.localUser as LocalSplitscreenUser).assignment.display; self.canvas.renderMode = (RenderMode)0; } } private static void CameraRigController_Start(orig_Start orig, CameraRigController self) { orig.Invoke(self); if (!Object.op_Implicit((Object)(object)Run.instance) || self.viewer?.localUser == null) { return; } LocalSplitscreenUser localSplitscreenUser = self.viewer.localUser as LocalSplitscreenUser; int display = localSplitscreenUser.assignment.display; if (localSplitscreenUser != null && display != 0) { if (!Display.displays[display].active) { Display.displays[display].Activate(); } self.sceneCam.targetDisplay = display; self.uiCam.targetDisplay = display; Canvas component = ((Component)((LocalUser)localSplitscreenUser).eventSystem.cursorIndicatorController).GetComponent<Canvas>(); component.targetDisplay = display; component.renderMode = (RenderMode)0; } } private static void CursorOpener_OnEnable(orig_OnEnable orig, CursorOpener self) { orig.Invoke(self); if (self.forceCursorForGamePad != Plugin.active) { self.forceCursorForGamePad = Plugin.active; } } private static void MPInput_Update(orig_Update orig, MPInput self) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Invalid comparison between Unknown and I4 //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) Vector2 mousePosition = ((BaseInput)self).mousePosition; if (Object.op_Implicit((Object)(object)Run.instance)) { if (self.eventSystem.isCursorVisible && LocalUserManager.localUsersList[self.eventSystem.localUser.id] is LocalSplitscreenUser localSplitscreenUser) { int renderingWidth = Display.displays[localSplitscreenUser.assignment.display].renderingWidth; int renderingHeight = Display.displays[localSplitscreenUser.assignment.display].renderingHeight; float num = Mathf.Min((float)renderingWidth / 1920f, (float)renderingHeight / 1080f); self.internalScreenPositionDelta = Vector2.zero; if ((int)self.eventSystem.currentInputSource == 0) { if (Application.isFocused) { self.internalMousePosition = Vector2.op_Implicit(Input.mousePosition); } } else { Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor(self.player.GetAxis(23), self.player.GetAxis(24)); float magnitude = ((Vector2)(ref val)).magnitude; self.stickMagnitude = Mathf.Min(Mathf.MoveTowards(self.stickMagnitude, magnitude, self.cursorAcceleration * Time.unscaledDeltaTime), magnitude); float num2 = self.stickMagnitude; if (self.eventSystem.isHovering) { num2 *= self.cursorStickyModifier; } self.internalScreenPositionDelta = (((double)magnitude == 0.0) ? Vector2.zero : (val * (num2 / magnitude))) * Time.unscaledDeltaTime * (1920f * self.cursorScreenSpeed * num); self.internalMousePosition += self.internalScreenPositionDelta; } self.internalMousePosition.x = Mathf.Clamp(self.internalMousePosition.x, 0f, (float)renderingWidth); self.internalMousePosition.y = Mathf.Clamp(self.internalMousePosition.y, 0f, (float)renderingHeight); } } else { orig.Invoke(self); } if (Vector3.SqrMagnitude(Vector2.op_Implicit(mousePosition - ((BaseInput)self).mousePosition)) > 0.1f) { Input.UpdateEventSystem(self.eventSystem); } } private static void CharacterSelectController_Update(orig_Update orig, CharacterSelectController self) { self.localUser = Input.lastEventSystem.localUser; orig.Invoke(self); } private static void SurvivorIconController_UpdateAvailability(orig_UpdateAvailability orig, SurvivorIconController self) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) self.SetBoolAndMarkDirtyIfChanged(ref self.survivorIsUnlocked, SurvivorCatalog.SurvivorIsUnlockedOnThisClient(self.survivorIndex)); self.SetBoolAndMarkDirtyIfChanged(ref self.survivorRequiredExpansionEnabled, self.survivorDef.CheckRequiredExpansionEnabled((NetworkUser)null)); bool flag = false; foreach (LocalUser readOnlyLocalUsers in LocalUserManager.readOnlyLocalUsersList) { flag |= self.survivorDef.CheckUserHasRequiredEntitlement(readOnlyLocalUsers); } self.SetBoolAndMarkDirtyIfChanged(ref self.survivorRequiredEntitlementAvailable, flag); self.survivorIsAvailable = self.survivorIsUnlocked && self.survivorRequiredExpansionEnabled && self.survivorRequiredEntitlementAvailable; } private static bool CharacterSelectBarController_ShouldDisplaySurvivor(orig_ShouldDisplaySurvivor orig, CharacterSelectBarController self, SurvivorDef survivorDef) { self.currentLocalUser = Input.lastEventSystem.localUser; return orig.Invoke(self, survivorDef); } private static void CharacterSelectBarController_PickIcon(orig_PickIcon orig, CharacterSelectBarController self, SurvivorIconController newPickedIcon) { self.currentLocalUser = Input.lastEventSystem.localUser; orig.Invoke(self, newPickedIcon); } private static void LoadoutPanelController_UpdateDisplayData(orig_UpdateDisplayData orig, LoadoutPanelController self) { //IL_0049: 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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) MPEventSystem lastEventSystem = Input.lastEventSystem; object obj; if (lastEventSystem == null) { obj = null; } else { LocalUser localUser = lastEventSystem.localUser; obj = ((localUser != null) ? localUser.userProfile : null); } UserProfile userProfile = (UserProfile)obj; MPEventSystem lastEventSystem2 = Input.lastEventSystem; object obj2; if (lastEventSystem2 == null) { obj2 = null; } else { LocalUser localUser2 = lastEventSystem2.localUser; obj2 = ((localUser2 != null) ? localUser2.currentNetworkUser : null); } NetworkUser val = (NetworkUser)obj2; BodyIndex bodyIndex = (BodyIndex)((!Object.op_Implicit((Object)(object)val)) ? (-1) : ((int)val.bodyIndexPreference)); self.SetDisplayData(new DisplayData { userProfile = userProfile, bodyIndex = bodyIndex }); } private static void MPButton_Update(orig_Update orig, MPButton self) { } private static void MPEventSystem_Update_IL(bool state) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_0027: 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_0032: Expected O, but got Unknown if (state) { Log.LogOutput(" -------------- ENABLING ---------------"); object obj = <>c.<>9__58_0; if (obj == null) { Manipulator val = delegate(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) ILCursor val4 = new ILCursor(il); val4.GotoNext(new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdnull(x), (Instruction x) => ILPatternMatchingExt.MatchLdstr(x, "pause"), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0) }); val4.Index += 1; val4.Next.Operand = Input.lastEventSystem; OpCode opCode2 = val4.Next.OpCode; Log.LogOutput($"OpCode.Op1: {((OpCode)(ref opCode2)).Op1}"); opCode2 = val4.Next.OpCode; Log.LogOutput($"OpCode.Op2: {((OpCode)(ref opCode2)).Op2}"); opCode2 = val4.Next.OpCode; Log.LogOutput($"OpCode.FlowControl: {((OpCode)(ref opCode2)).FlowControl}"); Log.LogOutput($"Operand: {val4.Next.Operand}"); }; <>c.<>9__58_0 = val; obj = (object)val; } MPEventSystem.Update += (Manipulator)obj; return; } object obj2 = <>c.<>9__58_1; if (obj2 == null) { Manipulator val2 = delegate(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) ILCursor val3 = new ILCursor(il); val3.GotoNext(new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchCall<Console>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdnull(x), (Instruction x) => ILPatternMatchingExt.MatchLdstr(x, "pause"), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0) }); val3.Index += 1; val3.Next.Operand = Input.lastEventSystem; OpCode opCode = val3.Next.OpCode; Log.LogOutput($"OpCode.Op1: {((OpCode)(ref opCode)).Op1}"); opCode = val3.Next.OpCode; Log.LogOutput($"OpCode.Op2: {((OpCode)(ref opCode)).Op2}"); opCode = val3.Next.OpCode; Log.LogOutput($"OpCode.FlowControl: {((OpCode)(ref opCode)).FlowControl}"); Log.LogOutput($"Operand: {val3.Next.Operand}"); }; <>c.<>9__58_1 = val2; obj2 = (object)val2; } MPEventSystem.Update -= (Manipulator)obj2; } private static void SetGeneralHooks(bool enable) { foreach (Hook hook in hooks) { if (enable) { hook.Apply(); } else { hook.Undo(); } } } private static void SetRunListeners(bool enable) { if (enable) { Run.onRunStartGlobal += OnRunStartGlobal; Run.onRunDestroyGlobal += OnRunDestroyGlobal; } else { Run.onRunStartGlobal -= OnRunStartGlobal; Run.onRunDestroyGlobal -= OnRunDestroyGlobal; } } private static void SetGeneralRunDelegates(bool enable) { Action[] array = new Action[1] { delegate { foreach (MPEventSystem instances in MPEventSystem.instancesList) { ((Component)instances.cursorIndicatorController).GetComponent<Canvas>().targetDisplay = 0; } } }; Action[] array2 = new Action[1] { delegate { foreach (LocalUser localUsers in LocalUserManager.localUsersList) { localUsers.currentNetworkUser.UpdateUserName(); } } }; if (enable) { Action[] array3 = array; foreach (Action item in array3) { onRunDestroyExecute.Add(item); } Action[] array4 = array2; foreach (Action item2 in array4) { onRunStartExecute.Add(item2); } } else { Action[] array5 = array; foreach (Action item3 in array5) { onRunDestroyExecute.Remove(item3); } Action[] array6 = array2; foreach (Action item4 in array6) { onRunStartExecute.Remove(item4); } } } private static void OnRunStartGlobal(Run run) { foreach (Action item in onRunStartExecute) { item(); } } private static void OnRunDestroyGlobal(Run run) { foreach (Action item in onRunDestroyExecute) { item(); } } private static void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Invalid comparison between Unknown and I4 //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) if ((int)self.body.teamComponent.teamIndex == 1) { damageInfo.damage = 0f; damageInfo.force = Vector3.zero; } else { damageInfo.damage *= 100f; } orig.Invoke(self, damageInfo); } } public static class Input { private class UpdateInput : IMono { internal UpdateInput() { Plugin.RegisterIMono((IMono)(object)this); SetLastEventSystemDefault(); EventSystem current = EventSystem.current; activeEventSystem = (MPEventSystem)(object)(