Decompiled source of CrabDevKit v1.2.1
BepInEx/plugins/lammas123.CrabDevKit.dll
Decompiled 6 days ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Core.Logging.Interpolation; using BepInEx.IL2CPP; using BepInEx.IL2CPP.Utils; using BepInEx.Logging; using CodeStage.AntiCheat.ObscuredTypes; using CrabDevKit.Intermediary; using CrabDevKit.Utilities; using HarmonyLib; using Il2CppSystem; using Il2CppSystem.Collections; using Il2CppSystem.Collections.Generic; using Il2CppSystem.Collections.ObjectModel; using Il2CppSystem.IO; using Il2CppSystem.Runtime.InteropServices; using Il2CppSystem.Text; using Il2CppSystem.Text.RegularExpressions; using Microsoft.CodeAnalysis; using MilkShake; using SteamworksNative; using TMPro; using UnhollowerBaseLib; using UnhollowerRuntimeLib; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Rendering.PostProcessing; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.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] internal sealed class ParamCollectionAttribute : Attribute { } [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 CrabDevKit { internal static class Patches { [HarmonyPatch(typeof(MonoBehaviourPublicGataInefObInUnique), "Method_Private_Void_GameObject_Boolean_Vector3_Quaternion_0")] [HarmonyPatch(typeof(MonoBehaviourPublicCSDi2UIInstObUIloDiUnique), "Method_Private_Void_0")] [HarmonyPrefix] internal static bool PreBepinexDetection() { return false; } } [BepInPlugin("lammas123.CrabDevKit", "CrabDevKit", "1.2.1")] public sealed class CrabDevKit : BasePlugin { internal static CrabDevKit Instance { get; private set; } internal static CrabNet CrabNet { get; private set; } public override void Load() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Expected O, but got Unknown CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; CultureInfo.CurrentUICulture = CultureInfo.InvariantCulture; CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture; Instance = this; CrabNet = new CrabNet(); FakeClients.Init(); new Harmony("CrabDevKit").PatchAll(typeof(Patches)); ManualLogSource log = ((BasePlugin)this).Log; bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(15, 2, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Initialized ["); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("CrabDevKit"); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("1.2.1"); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("]"); } log.LogInfo(val); } } public static class MyPluginInfo { public const string PLUGIN_GUID = "lammas123.CrabDevKit"; public const string PLUGIN_NAME = "CrabDevKit"; public const string PLUGIN_VERSION = "1.2.1"; } } namespace CrabDevKit.Utilities { public sealed class AssetBundlePtr : IDisposable { internal IntPtr bundlePtr; private bool _disposed; internal AssetBundlePtr(IntPtr intPtr) { bundlePtr = intPtr; } ~AssetBundlePtr() { Unload(unloadAllLoadedObjects: true); } public void Dispose() { Unload(unloadAllLoadedObjects: true); } public static AssetBundlePtr LoadFromFile(string path, uint crc = 0u, ulong offset = 0uL) { if (string.IsNullOrEmpty(path)) { throw new ArgumentNullException("path", "The asset bundle file path cannot be null."); } if (!File.Exists(path)) { throw new FileNotFoundException("The asset bundle file path does not point to a file that exists.", path); } if (offset > long.MaxValue) { throw new ArgumentOutOfRangeException("offset", "Offset is greater than long.MaxValue. (Why?)"); } using FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); if ((long)offset >= fileStream.Length) { throw new ArgumentOutOfRangeException("offset", "Offset is beyond end of file."); } fileStream.Seek((long)offset, SeekOrigin.Begin); long num = fileStream.Length - (long)offset; byte[] array = new byte[num]; int num2 = fileStream.Read(array, 0, array.Length); if (num2 != num) { throw new IOException($"Expected {num} bytes, but read {num2}."); } return LoadFromMemory(array, crc); } public static AssetBundlePtr LoadFromMemory(byte[] binary, uint crc = 0u) { return AssetBundleManager.LoadBundle(binary, crc); } public bool Contains(string name) { if (_disposed) { return false; } if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException("name", "The input asset name cannot be null or empty."); } AssetBundleManager.MakeCurrentBundle(this); return AssetBundle.ContainsDelegateField.Invoke(bundlePtr, IL2CPP.ManagedStringToIl2Cpp(name)); } public string[] GetAllAssetNames() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown if (_disposed) { return null; } AssetBundleManager.MakeCurrentBundle(this); IntPtr intPtr = AssetBundle.GetAllAssetNamesDelegateField.Invoke(bundlePtr); if (!(intPtr == IntPtr.Zero)) { return ((IEnumerable<string>)new Il2CppStringArray(intPtr)).ToArray(); } return null; } public string[] GetAllScenePaths() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown if (_disposed) { return null; } AssetBundleManager.MakeCurrentBundle(this); IntPtr intPtr = AssetBundle.GetAllScenePathsDelegateField.Invoke(bundlePtr); if (!(intPtr == IntPtr.Zero)) { return ((IEnumerable<string>)new Il2CppStringArray(intPtr)).ToArray(); } return null; } public void Unload(bool unloadAllLoadedObjects) { if (!_disposed) { AssetBundleManager.MakeCurrentBundle(this); AssetBundleManager.DisposeCurrentBundle(unloadAllLoadedObjects); GC.SuppressFinalize(this); _disposed = true; } } public Object[] LoadAllAssets(Type type) { if (_disposed) { return null; } if (type == null) { throw new ArgumentNullException("type", "The input type cannot be null."); } AssetBundleManager.MakeCurrentBundle(this); Type val = Il2CppType.From(type); IntPtr intPtr = AssetBundle.LoadAssetWithSubAssets_InternalDelegateField.Invoke(bundlePtr, IL2CPP.ManagedStringToIl2Cpp(string.Empty), IL2CPP.Il2CppObjectBaseToPtr((Il2CppObjectBase)(object)val)); if (!(intPtr == IntPtr.Zero)) { return ((IEnumerable<Object>)new Il2CppReferenceArray<Object>(intPtr)).ToArray(); } return null; } public Object[] LoadAllAssets<T>() where T : Object { return LoadAllAssets(typeof(T)); } public Object LoadAsset(string name, Type type) { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown if (_disposed) { return null; } if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException("name", "The input asset name cannot be null or empty."); } if (type == null) { throw new ArgumentNullException("type", "The input type cannot be null."); } AssetBundleManager.MakeCurrentBundle(this); Type val = Il2CppType.From(type); IntPtr intPtr = AssetBundle.LoadAsset_InternalDelegateField.Invoke(bundlePtr, IL2CPP.ManagedStringToIl2Cpp(name), IL2CPP.Il2CppObjectBaseToPtr((Il2CppObjectBase)(object)val)); if (!(intPtr == IntPtr.Zero)) { return new Object(intPtr); } return null; } public Object LoadAsset<T>(string name) where T : Object { return LoadAsset(name, typeof(T)); } } internal static class AssetBundleManager { internal static Dictionary<AssetBundlePtr, (Il2CppStructArray<byte>, uint)> managedBundles = new Dictionary<AssetBundlePtr, (Il2CppStructArray<byte>, uint)>(); internal static AssetBundlePtr currentBundle; internal static AssetBundlePtr LoadBundle(byte[] binary, uint crc) { MakeCurrentBundle(null); Il2CppStructArray<byte> val = new Il2CppStructArray<byte>(binary); IntPtr intPtr = AssetBundle.LoadFromMemory_InternalDelegateField.Invoke(IL2CPP.Il2CppObjectBaseToPtr((Il2CppObjectBase)(object)val), crc); if (intPtr == IntPtr.Zero) { throw new NullReferenceException("Failed to load the bundle. The bundle may not be valid, idk ask Unity lol."); } currentBundle = new AssetBundlePtr(intPtr); managedBundles.Add(currentBundle, (val, crc)); return currentBundle; } internal static void MakeCurrentBundle(AssetBundlePtr bundle) { if (bundle == currentBundle) { return; } if (currentBundle != null) { UnloadCurrentBundle(); } if (bundle != null) { IntPtr intPtr = AssetBundle.LoadFromMemory_InternalDelegateField.Invoke(IL2CPP.Il2CppObjectBaseToPtr((Il2CppObjectBase)(object)managedBundles[bundle].Item1), managedBundles[bundle].Item2); if (intPtr == IntPtr.Zero) { throw new NullReferenceException("Failed to make bundle the current bundle, odd. It didn't fail previously, so it should be valid, but maybe something went wrong with unloading the previous bundle."); } bundle.bundlePtr = intPtr; currentBundle = bundle; } } internal static void DisposeCurrentBundle(bool unloadAllLoadedObjects = false) { managedBundles.Remove(currentBundle); UnloadCurrentBundle(unloadAllLoadedObjects); } internal static void UnloadCurrentBundle(bool unloadAllLoadedObjects = false) { AssetBundle.UnloadDelegateField.Invoke(currentBundle.bundlePtr, unloadAllLoadedObjects); currentBundle.bundlePtr = IntPtr.Zero; currentBundle = null; } } public static class ChatUtil { public enum MessageType { Normal, Server, Styled } public static int MaxMessageLength { get { if (!((Object)(object)MonoBehaviourPublicRaovTMinTemeColoonCoUnique.Instance != (Object)null)) { return 80; } return MonoBehaviourPublicRaovTMinTemeColoonCoUnique.Instance.get_maxMsgLength(); } } public static int MaxConsecutiveChars { get { if (!((Object)(object)MonoBehaviourPublicRaovTMinTemeColoonCoUnique.Instance != (Object)null)) { return 5; } return MonoBehaviourPublicRaovTMinTemeColoonCoUnique.Instance.get_deobf_maxConsecutiveChars(); } } public static string FormatMessage(string str) { return Regex.Replace(str, $"(.)(?<=\\1{{{MaxConsecutiveChars}}})", string.Empty, RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.CultureInvariant); } public static void SendMessage(ulong recipientClientId, string message, MessageType messageType = MessageType.Server, string displayName = null) { SendMessage(message, messageType, displayName, new <>z__ReadOnlySingleElementList<ulong>(recipientClientId)); } public static void SendMessage(string message, MessageType messageType = MessageType.Server, string displayName = null, IEnumerable<ulong> recipientClientIds = null) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_00e6: Unknown result type (might be due to invalid IL or missing references) ulong value = 0uL; message = FormatMessage(message ?? string.Empty); if (messageType == MessageType.Server) { displayName = string.Empty; value = 1uL; } else if (displayName == null) { displayName = string.Empty; } ObjectPublicIDisposableLi1ByInByBoUnique val = new ObjectPublicIDisposableLi1ByInByBoUnique(2); val.Write(value); val.Write(displayName); val.Write(message); val.WriteLength(); IEnumerable<ulong> enumerable = recipientClientIds; if (enumerable == null) { KeyCollection<ulong, int> keys = MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.steamIdToUID.Keys; int num = 0; ulong[] array = new ulong[keys.Count]; Enumerator<ulong, int> enumerator = keys.GetEnumerator(); while (enumerator.MoveNext()) { ulong current = enumerator.Current; array[num] = current; num++; } enumerable = new <>z__ReadOnlyArray<ulong>(array); } foreach (ulong item in enumerable) { if (messageType == MessageType.Styled) { byte[] bytes = BitConverter.GetBytes(item); for (int i = 0; i < bytes.Length; i++) { val.field_Private_List_1_Byte_0[i + 8] = bytes[i]; } } MonoBehaviourPublicInStInpabyDiInpaby2Unique.SendPacket(new CSteamID(item), val, ServerSendExtensions.get_deobf_reliable(), (EnumNPublicSealedvaTo3vToUnique)0); } val.Dispose(); } public static string[] FormatGameModeDescription(string description) { List<string> list = description.Split('\n', StringSplitOptions.RemoveEmptyEntries).ToList(); for (int i = 0; i < list.Count; i++) { list[i] = list[i].Replace('•', '*'); while (list[i].Length > MaxMessageLength) { int num = list[i].LastIndexOf(' ', MaxMessageLength - 1, 20); if (num == -1) { num = MaxMessageLength; } int index = i + 1; string text = list[i]; int num2 = num; list.Insert(index, text.Substring(num2, text.Length - num2)); list[i] = list[i].Substring(0, num); } } return list.ToArray(); } } public sealed class CrabNet { public delegate void MessageHandler(ulong clientId, ObjectPublicIDisposableLi1ByInByBoUnique packet); internal static class Patches { private static readonly Il2CppStructArray<IntPtr> _messagePtrs = new Il2CppStructArray<IntPtr>(70L); [HarmonyPatch(typeof(MonoBehaviourPublicInStInpabyDiInpaby2Unique), "CheckForPackets")] [HarmonyPostfix] internal static void PostSteamPacketManagerCheckForPackets() { int num; do { num = SteamNetworkingMessages.ReceiveMessagesOnChannel(123, _messagePtrs, 70); if (num == 0) { break; } for (int i = 0; i < num; i++) { SteamNetworkingMessage_t message = Marshal.PtrToStructure<SteamNetworkingMessage_t>(((Il2CppArrayBase<IntPtr>)(object)_messagePtrs)[i]); CrabDevKit.CrabNet.HandleMessage(message); } } while (num == 70); } [HarmonyPatch(typeof(MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique), "Method_Private_Void_LobbyEnter_t_PDM_1")] [HarmonyPostfix] [HarmonyPriority(int.MaxValue)] internal static void PostSteamManagerLobbyEnter(LobbyEnter_t param_1) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) if (MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby().m_SteamID == param_1.m_ulSteamIDLobby) { CrabDevKit.CrabNet.RegisterMessageHandlers(); } } } private uint _nextId; private readonly Dictionary<string, uint> _registeredMessageHandlers = new Dictionary<string, uint>(); private readonly Dictionary<uint, MessageHandler> _messageHandlers = new Dictionary<uint, MessageHandler>(); private const int SendFlag = 8; private const int MessageChannel = 123; private const int MessagesPerFrame = 70; internal CrabNet() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) new Harmony("CrabDevKit.CrabNet").PatchAll(typeof(Patches)); } public static bool RegisterMessageHandler(string messageId, MessageHandler messageHandler) { if (CrabDevKit.CrabNet == null) { throw new InvalidOperationException("CrabNet has yet to be initialized. Ensure your plugin is depending on CrabDevKit, so that it initializes CrabNet before you use it!"); } if (string.IsNullOrEmpty(messageId)) { throw new ArgumentNullException("messageId", "messageId may not be null or empty."); } if (!messageId.Contains(':')) { throw new ArgumentException("A colon ':' separator character was expected in the messageId parameter. Your messageId should follow this format -> PluginName:MessageId", "messageId"); } if (messageHandler == null) { throw new ArgumentNullException("messageHandler"); } return CrabDevKit.CrabNet.RegisterMessageHandlerInternal(messageId, messageHandler); } private bool RegisterMessageHandlerInternal(string messageId, MessageHandler messageHandler) { //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Expected O, but got Unknown //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown if (string.IsNullOrEmpty(messageId)) { throw new ArgumentNullException("messageId", "messageId may not be null or empty."); } if (messageHandler == null) { throw new ArgumentNullException("messageHandler"); } if (Object.op_Implicit((Object)(object)MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique.Instance)) { ((BasePlugin)CrabDevKit.Instance).Log.LogWarning((object)"Message handlers must be registered on plugin load!"); return false; } bool flag = default(bool); if (_registeredMessageHandlers.ContainsKey(messageId)) { ManualLogSource log = ((BasePlugin)CrabDevKit.Instance).Log; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(34, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Message handler '"); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(messageId); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("' already exists!"); } log.LogWarning(val); return false; } uint nextId = _nextId; _nextId++; _registeredMessageHandlers.Add(messageId, nextId); _messageHandlers.Add(nextId, messageHandler); ManualLogSource log2 = ((BasePlugin)CrabDevKit.Instance).Log; BepInExInfoLogInterpolatedStringHandler val2 = new BepInExInfoLogInterpolatedStringHandler(31, 2, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("Registered message handler: "); ((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<string>(messageId); ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral(" ("); ((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<uint>(nextId); ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral(")"); } log2.LogInfo(val2); return true; } private void RegisterMessageHandlers() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) CSteamID val = MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby(); SteamMatchmaking.SetLobbyMemberData(val, "CrabNetVersion", "1.2.1"); foreach (var (text2, num2) in _registeredMessageHandlers) { SteamMatchmaking.SetLobbyMemberData(val, $"CrabNet:Message.{num2}", text2); } ((BasePlugin)CrabDevKit.Instance).Log.LogInfo((object)"Registered message handlers for lobby."); } public static bool SendMessage(string messageId, ObjectPublicIDisposableLi1ByInByBoUnique packet, [ParamCollection] IEnumerable<ulong> clientIds) { if (CrabDevKit.CrabNet == null) { throw new InvalidOperationException("CrabNet has yet to be initialized. Ensure your plugin is depending on CrabDevKit, so that it initializes CrabNet before you use it!"); } if (string.IsNullOrEmpty(messageId)) { throw new ArgumentNullException("messageId", "messageId may not be null or empty."); } if (packet == null) { throw new ArgumentNullException("packet"); } if (clientIds == null) { throw new ArgumentNullException("clientIds"); } return CrabDevKit.CrabNet.SendMessageInternal(messageId, packet, clientIds.Select((Func<ulong, CSteamID>)((ulong clientId) => new CSteamID(clientId)))); } public static bool SendMessage(string messageId, ObjectPublicIDisposableLi1ByInByBoUnique packet, [ParamCollection] IEnumerable<CSteamID> steamIds) { if (CrabDevKit.CrabNet == null) { throw new InvalidOperationException("CrabNet has yet to be initialized. Ensure your plugin is depending on CrabDevKit, so that it initializes CrabNet before you use it!"); } if (string.IsNullOrEmpty(messageId)) { throw new ArgumentNullException("messageId", "messageId may not be null or empty."); } if (packet == null) { throw new ArgumentNullException("packet"); } if (steamIds == null) { throw new ArgumentNullException("steamIds"); } return CrabDevKit.CrabNet.SendMessageInternal(messageId, packet, steamIds); } private bool SendMessageInternal(string messageId, ObjectPublicIDisposableLi1ByInByBoUnique packet, IEnumerable<CSteamID> steamIds) { //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Expected O, but got Unknown //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Expected O, but got Unknown //IL_0126: 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) if (string.IsNullOrEmpty(messageId)) { throw new ArgumentNullException("messageId", "messageId may not be null or empty."); } if (packet == null) { throw new ArgumentNullException("packet"); } if (steamIds == null) { throw new ArgumentNullException("steamIds"); } bool flag = default(bool); if (!_registeredMessageHandlers.TryGetValue(messageId, out var value)) { ManualLogSource log = ((BasePlugin)CrabDevKit.Instance).Log; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(34, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Message handler '"); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(messageId); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("' does not exist!"); } log.LogWarning(val); return false; } ObjectPublicIDisposableLi1ByInByBoUnique val2 = new ObjectPublicIDisposableLi1ByInByBoUnique(); val2.Write((int)value); val2.Write(packet.CloneBytes()); foreach (CSteamID steamId in steamIds) { if (string.IsNullOrEmpty(SteamMatchmaking.GetLobbyMemberData(MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby(), steamId, "CrabNetVersion"))) { ManualLogSource log2 = ((BasePlugin)CrabDevKit.Instance).Log; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(52, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<ulong>(steamId.m_SteamID); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" does not have CrabNet, and cannot receive messages!"); } log2.LogWarning(val); } else if (steamId == SteamUser.GetSteamID()) { ObjectPublicIDisposableLi1ByInByBoUnique packet2 = new ObjectPublicIDisposableLi1ByInByBoUnique(Il2CppStructArray<byte>.op_Implicit(val2.CloneBytes())); HandleMessage(steamId.m_SteamID, packet2); } else { MonoBehaviourPublicInStInpabyDiInpaby2Unique.SendPacket(steamId, val2, 8, (EnumNPublicSealedvaTo3vToUnique)123); } } val2.Dispose(); packet.Dispose(); return true; } private void HandleMessage(SteamNetworkingMessage_t message) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown ulong steamID = message.m_identityPeer.GetSteamID64(); int cbSize = message.m_cbSize; IntPtr pData = message.m_pData; Il2CppStructArray<byte> val = new Il2CppStructArray<byte>((long)cbSize); Marshal.Copy(pData, val, 0, cbSize); ObjectPublicIDisposableLi1ByInByBoUnique val2 = new ObjectPublicIDisposableLi1ByInByBoUnique(); val2.SetBytes(Il2CppArrayBase<byte>.op_Implicit((Il2CppArrayBase<byte>)(object)val)); HandleMessage(steamID, val2); } private void HandleMessage(ulong clientId, ObjectPublicIDisposableLi1ByInByBoUnique packet) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Expected O, but got Unknown //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown bool flag = default(bool); try { uint value = (uint)packet.ReadInt(); string lobbyMemberData = SteamMatchmaking.GetLobbyMemberData(MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby(), new CSteamID(clientId), $"CrabNet:Message.{value}"); if (string.IsNullOrEmpty(lobbyMemberData)) { ManualLogSource log = ((BasePlugin)CrabDevKit.Instance).Log; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(37, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Unable to identify messageId from '"); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<uint>(value); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("'!"); } log.LogWarning(val); } else if (!_registeredMessageHandlers.TryGetValue(lobbyMemberData, out value)) { ManualLogSource log2 = ((BasePlugin)CrabDevKit.Instance).Log; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(16, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(lobbyMemberData); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" is not defined!"); } log2.LogWarning(val); } else { _messageHandlers[value](clientId, packet); packet.Dispose(); } } catch (Exception ex) { ManualLogSource log3 = ((BasePlugin)CrabDevKit.Instance).Log; BepInExErrorLogInterpolatedStringHandler val2 = new BepInExErrorLogInterpolatedStringHandler(42, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("An exception occurred handling a message:\n"); ((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<Exception>(ex); } log3.LogError(val2); } } } public static class DimensionalArrayUtil { public static T[,] ToManaged2D<T>(Il2CppObjectBase il2CppArray) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if (il2CppArray == null || il2CppArray.Pointer == IntPtr.Zero) { throw new ArgumentNullException("il2CppArray"); } Array val = new Array(il2CppArray.Pointer); if (val.Rank != 2) { throw new InvalidOperationException($"Expected rank-2 array, got rank {val.Rank}"); } int length = val.GetLength(0); int length2 = val.GetLength(1); T[,] array = new T[length, length2]; for (int i = 0; i < length; i++) { for (int j = 0; j < length2; j++) { object value = val.GetValue(i, j); Il2CppObjectBase val2 = (Il2CppObjectBase)((value is Il2CppObjectBase) ? value : null); if (val2 != null && typeof(T).IsAssignableFrom(((object)val2).GetType())) { array[i, j] = (T)(object)val2; } else if (value != null) { array[i, j] = (T)Convert.ChangeType(value, typeof(T)); } else { array[i, j] = default(T); } } } return array; } public static Il2CppObjectBase FromManaged2D<T>(T[,] managed) { //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Expected O, but got Unknown //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Expected O, but got Unknown if (managed == null) { throw new ArgumentNullException("managed"); } int length = managed.GetLength(0); int length2 = managed.GetLength(1); IntPtr nativeClassPtr = Il2CppClassPointerStore<T>.NativeClassPtr; if (nativeClassPtr == IntPtr.Zero) { throw new InvalidOperationException($"Type {typeof(T)} is not defined in IL2CPP."); } IntPtr intPtr = CreateArray(nativeClassPtr, new int[2] { length, length2 }); Array val = new Array(intPtr); for (int i = 0; i < length; i++) { for (int j = 0; j < length2; j++) { object obj = managed[i, j]; if (obj == null) { val.SetValue((Object)null, i, j); continue; } Il2CppObjectBase val2 = (Il2CppObjectBase)((obj is Il2CppObjectBase) ? obj : null); if (val2 != null) { val.SetValue(val2.TryCast<Object>(), i, j); continue; } if (obj is string text) { IntPtr intPtr2 = IL2CPP.ManagedStringToIl2Cpp(text); val.SetValue((Object)new String(intPtr2), i, j); continue; } if (obj.GetType().IsValueType) { IntPtr intPtr3 = Marshal.AllocHGlobal(Marshal.SizeOf(obj.GetType())); Marshal.StructureToPtr(obj, intPtr3, fDeleteOld: false); IntPtr intPtr4 = IL2CPP.il2cpp_value_box(nativeClassPtr, intPtr3); Marshal.FreeHGlobal(intPtr3); val.SetValue(new Object(intPtr4), i, j); continue; } throw new NotImplementedException($"Unable to box type {obj.GetType()}."); } } return new Il2CppObjectBase(intPtr); } private static IntPtr CreateArray(IntPtr elementClass, int[] dims) { if (dims == null || dims.Length == 0) { throw new ArgumentException("dims"); } int num = dims.Length; ulong[] array = new ulong[num]; ulong[] array2 = new ulong[num]; for (int i = 0; i < num; i++) { array[i] = (ulong)dims[i]; array2[i] = 0uL; } return IL2CPP.il2cpp_array_new_full(elementClass, ref array[0], ref array2[0]); } } public static class FakeClients { internal static class Patches { [HarmonyPatch(typeof(SteamMatchmaking), "LeaveLobby")] [HarmonyPostfix] internal static void PostSteamMatchmakingLeaveLobby() { fakeClientIds.Clear(); fakeClients.Clear(); } [HarmonyPatch(typeof(SteamMatchmaking), "GetNumLobbyMembers")] [HarmonyPostfix] internal static void PostSteamMatchmakingGetNumLobbyMembers(ref int __result) { __result += fakeClients.Count; } [HarmonyPatch(typeof(SteamMatchmaking), "GetLobbyMemberByIndex")] [HarmonyPrefix] internal static bool PreSteamMatchmakingGetLobbyMemberByIndex(CSteamID steamIDLobby, int iMember, ref CSteamID __result) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) int numLobbyMembers = SteamMatchmaking.GetNumLobbyMembers(steamIDLobby); int count = fakeClients.Count; int num = numLobbyMembers - count; if (iMember >= num && iMember < numLobbyMembers) { __result = new CSteamID(fakeClients[iMember - num].clientId); return false; } return true; } [HarmonyPatch(typeof(SteamMatchmaking), "GetLobbyMemberData")] [HarmonyPrefix] internal static bool PreSteamMatchmakingGetLobbyMemberData(CSteamID steamIDUser, string pchKey, ref string __result) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) if (fakeClientIds.TryGetValue(steamIDUser.m_SteamID, out var value)) { __result = (value.memberData.TryGetValue(pchKey, out var value2) ? value2 : __result); return false; } return true; } [HarmonyPatch(typeof(SteamFriends), "GetFriendPersonaName")] [HarmonyPrefix] internal static bool PreSteamFriendsGetFriendPersonaName(CSteamID steamIDFriend, ref string __result) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) if (fakeClientIds.TryGetValue(steamIDFriend.m_SteamID, out var value)) { __result = value.name; return false; } return true; } [HarmonyPatch(typeof(MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique), "NewAcceptP2P", new Type[] { typeof(SteamNetworkingIdentity) })] [HarmonyPrefix] internal static bool PreSteamManagerNewAcceptP2PIdentityRemote(SteamNetworkingIdentity param_1) { return !fakeClientIds.ContainsKey(param_1.GetSteamID64()); } [HarmonyPatch(typeof(MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique), "NewAcceptP2P", new Type[] { typeof(CSteamID) })] [HarmonyPrefix] internal static bool PreSteamManagerNewAcceptP2PCSteamID(CSteamID param_1) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return !fakeClientIds.ContainsKey(param_1.m_SteamID); } [HarmonyPatch(typeof(MonoBehaviourPublicInStInpabyDiInpaby2Unique), "SendPacket")] [HarmonyPrefix] internal static bool PreSteamPacketManagerSendPacket(CSteamID param_0) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) return !fakeClientIds.ContainsKey(param_0.m_SteamID); } [HarmonyPatch(typeof(MonoBehaviourPublicInInUnique), "LoadMap", new Type[] { typeof(int), typeof(int) })] [HarmonyPostfix] internal static void PostServerSendLoadMap() { foreach (FakeClient fakeClient in fakeClients) { fakeClient.FakeLoad(); } } [HarmonyPatch(typeof(MonoBehaviourPublicInInUnique), "LoadMap", new Type[] { typeof(int), typeof(int), typeof(ulong) })] [HarmonyPrefix] internal static bool PreServerSendLoadMap(ulong param_2) { if (fakeClientIds.TryGetValue(param_2, out var value)) { value.FakeLoad(); return false; } return true; } [HarmonyPatch(typeof(MonoBehaviourPublicDi2UIObacspDi2UIObUnique), "Start")] [HarmonyPostfix] internal static void PostGameManagerStart() { foreach (FakeClient fakeClient in fakeClients) { fakeClient.FakeSpawn(); } } } internal const ulong MIN_ID = 10uL; private static readonly Dictionary<ulong, FakeClient> fakeClientIds = new Dictionary<ulong, FakeClient>(); private static readonly List<FakeClient> fakeClients = new List<FakeClient>(); internal static void Init() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new Harmony("CrabDevKit.FakeClients").PatchAll(typeof(Patches)); } public static FakeClient Create(string name = null, bool streamerMode = false, bool forceSpawnActive = false) { //IL_0056: 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_008a: 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_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Expected O, but got Unknown if (!MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique.Instance.IsLobbyOwner()) { return null; } ulong num; for (num = 10uL; MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.steamIdToUID.ContainsKey(num) || fakeClientIds.ContainsKey(num); num++) { } FakeClient fakeClient = new FakeClient(num, name, streamerMode, forceSpawnActive); fakeClientIds.Add(num, fakeClient); fakeClients.Add(fakeClient); LobbyChatUpdate_t val = default(LobbyChatUpdate_t); val.m_ulSteamIDLobby = MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby().m_SteamID; val.m_ulSteamIDUserChanged = num; val.m_ulSteamIDMakingChange = num; val.m_rgfChatMemberStateChange = 1u; LobbyChatUpdate_t ev = val; MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique.Instance.PlayerJoinOrLeave(ev); ManualLogSource log = ((BasePlugin)CrabDevKit.Instance).Log; bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val2 = new BepInExInfoLogInterpolatedStringHandler(21, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("Created fake client: "); ((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<ulong>(num); } log.LogInfo(val2); return fakeClient; } public static void Remove(FakeClient fakeClient) { //IL_0021: 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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Expected O, but got Unknown if (MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique.Instance.IsLobbyOwner() && fakeClientIds.ContainsKey(fakeClient.clientId)) { LobbyChatUpdate_t val = default(LobbyChatUpdate_t); val.m_ulSteamIDLobby = MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_currentLobby().m_SteamID; val.m_ulSteamIDUserChanged = fakeClient.clientId; val.m_ulSteamIDMakingChange = fakeClient.clientId; val.m_rgfChatMemberStateChange = 2u; LobbyChatUpdate_t ev = val; MonoBehaviourPublicObInUIgaStCSBoStcuCSUnique.Instance.PlayerJoinOrLeave(ev); fakeClients.Remove(fakeClientIds[fakeClient.clientId]); fakeClientIds.Remove(fakeClient.clientId); ManualLogSource log = ((BasePlugin)CrabDevKit.Instance).Log; bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val2 = new BepInExInfoLogInterpolatedStringHandler(21, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("Removed fake client: "); ((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<ulong>(fakeClient.clientId); } log.LogInfo(val2); } } } public sealed class FakeClient { public readonly ulong clientId; public readonly string name; public readonly bool streamerMode; private bool _forceSpawnActive; public readonly Dictionary<string, string> memberData = new Dictionary<string, string>(); internal FakeClient(ulong fakeClientId, string name = null, bool streamerMode = false, bool forceSpawnActive = false) { clientId = fakeClientId; this.name = (string.IsNullOrEmpty(name) ? $"FakeClient {clientId - 10 + 1}" : name); this.streamerMode = streamerMode; _forceSpawnActive = forceSpawnActive; } internal void FakeLoad() { MonoBehaviourPublicPlVoUI9GaVoUI9UsPlUnique.StartedLoading(clientId, (ObjectPublicIDisposableLi1ByInByBoUnique)null); MonoBehaviourPublicPlVoUI9GaVoUI9UsPlUnique.LoadingRequestEnterGame(clientId, (ObjectPublicIDisposableLi1ByInByBoUnique)null); if (Object.op_Implicit((Object)(object)MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance)) { FakeSpawn(); } } internal void FakeSpawn() { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown if (!MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.activePlayers.ContainsKey(clientId) && !MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.spectators.ContainsKey(clientId)) { MonoBehaviourPublicPlVoUI9GaVoUI9UsPlUnique.GameModeLoaded(clientId, (ObjectPublicIDisposableLi1ByInByBoUnique)null); if (_forceSpawnActive) { _forceSpawnActive = false; ObjectPublicBoInBoCSItBoInSiBySiUnique client = MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.GetClient(clientId); MonoBehaviourPublicObInCoIE85SiAwVoFoCoUnique.PlayerSpawnRequest(clientId, streamerMode, Il2CppStructArray<byte>.op_Implicit(client.get_deobf_drip()), client.get_deobf_dripLength()); } else { ObjectPublicIDisposableLi1ByInByBoUnique val = new ObjectPublicIDisposableLi1ByInByBoUnique(); val.SetBytes(BitConverter.GetBytes(streamerMode)); MonoBehaviourPublicPlVoUI9GaVoUI9UsPlUnique.GameRequestToSpawn(clientId, val); val.Dispose(); } } } } public static class GiveUtil { [CompilerGenerated] private sealed class <GiveItemCoroutine>d__1 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public ulong clientId; public int itemId; public int ammo; private int <uniqueObjectId>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <GiveItemCoroutine>d__1(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Expected O, but got Unknown //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <uniqueObjectId>5__2 = MonoBehaviourPublicDi2InObInObInUnique.Instance.GetNextId(); MonoBehaviourPublicInInUnique.DropItem(clientId, itemId, <uniqueObjectId>5__2, ammo); <>2__current = (object)new WaitForSeconds(Mathf.Min((float)(MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.Instance.get_clients()[MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.steamIdToUID[clientId]].get_ping() + 50) / 1000f, 1f)); <>1__state = 1; return true; case 1: { <>1__state = -1; if (!MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.activePlayers.ContainsKey(clientId) || MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.activePlayers[clientId].dead || !MonoBehaviourPublicCSDi2UIInstObUIloDiUnique.steamIdToUID.ContainsKey(clientId) || !MonoBehaviourPublicDi2InObInObInUnique.Instance.get_sharedObjects().ContainsKey(<uniqueObjectId>5__2)) { return false; } ObjectPublicIDisposableLi1ByInByBoUnique val = new ObjectPublicIDisposableLi1ByInByBoUnique(); val.SetBytes(BitConverter.GetBytes(<uniqueObjectId>5__2)); MonoBehaviourPublicPlVoUI9GaVoUI9UsPlUnique.TryInteract(clientId, val); val.Dispose(); return false; } } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public static void GiveItem(ulong clientId, int itemId, int ammo = -1) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Invalid comparison between Unknown and I4 //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Invalid comparison between Unknown and I4 //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Invalid comparison between Unknown and I4 //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Invalid comparison between Unknown and I4 if (MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.activePlayers.ContainsKey(clientId) && !MonoBehaviourPublicDi2UIObacspDi2UIObUnique.Instance.activePlayers[clientId].dead && MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem.ContainsKey(itemId)) { if ((int)MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].type == 4 || (int)MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].type == 5) { MonoBehaviourPublicInInUnique.DropItem(clientId, itemId, MonoBehaviourPublicDi2InObInObInUnique.Instance.GetNextId(), (ammo < 0) ? MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].maxAmmo : ammo); } else if ((int)MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].type == 2 || (int)MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].type == 3 || ammo < 0 || ammo == MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].maxAmmo) { MonoBehaviourPublicObInCoIE85SiAwVoFoCoUnique.ForceGiveWeapon(clientId, itemId, MonoBehaviourPublicDi2InObInObInUnique.Instance.GetNextId()); } else { MonoBehaviourExtensions.StartCoroutine((MonoBehaviour)(object)MonoBehaviourPublicObInCoIE85SiAwVoFoCoUnique.Instance, GiveItemCoroutine(clientId, itemId, (ammo < 0) ? MonoBehaviourPublicDi2InItidGamoObInUnique.idToItem[itemId].maxAmmo : ammo)); } } } [IteratorStateMachine(typeof(<GiveItemCoroutine>d__1))] private static IEnumerator GiveItemCoroutine(ulong clientId, int itemId, int ammo) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <GiveItemCoroutine>d__1(0) { clientId = clientId, itemId = itemId, ammo = ammo }; } } } namespace CrabDevKit.Intermediary { public static class AssignSharedObjectIDExtensions { public static List<MonoBehaviourPublicInidBoskUnique> get_sharedObjects() { return MonoBehaviourPublicLi1ObUnique.field_Private_Static_List_1_MonoBehaviourPublicInidBoskUnique_0; } public static void set_sharedObjects(List<MonoBehaviourPublicInidBoskUnique> sharedObjects) { MonoBehaviourPublicLi1ObUnique.field_Private_Static_List_1_MonoBehaviourPublicInidBoskUnique_0 = sharedObjects; } } public static class BlockManagerExtensions { public static Random get_random(this MonoBehaviourPublicSipiGaLipi1InGaLi10 self) { return self.field_Private_Random_0; } public static void set_random(this MonoBehaviourPublicSipiGaLipi1InGaLi10 self, Random random) { self.field_Private_Random_0 = random; } } public static class BoulderControllerExtensions { public static float get_spawnRate(this MonoBehaviourPublicTrspGaboSiObInUnique self) { return self.field_Private_Single_0; } public static void set_spawnRate(this MonoBehaviourPublicTrspGaboSiObInUnique self, float spawnRate) { self.field_Private_Single_0 = spawnRate; } public static void SendBoulder(this MonoBehaviourPublicTrspGaboSiObInUnique self) { self.Method_Private_Void_PDM_39(); } } public static class BouncePlayerExtensions { public static bool get_ready(this MonoBehaviourPublicSicofoSimuupInSiboVeUnique self) { return self.field_Private_Boolean_0; } public static void set_ready(this MonoBehaviourPublicSicofoSimuupInSiboVeUnique self, bool ready) { self.field_Private_Boolean_0 = ready; } } public static class BulletPrefabExtensions { public static void StopBullet(this MonoBehaviourPublicInPabusmPaGahiUnique self) { self.Method_Private_Void_PDM_9(); } } public static class BustlingButtonInteractExtensions { public static Vector3 get_activePosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_activePosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, Vector3 activePosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = activePosition; } public static Vector3 get_inactivePosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_1; } public static void set_inactivePosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, Vector3 inactivePosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_1 = inactivePosition; } public static Vector3 get_desiredPosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_2; } public static void set_desiredPosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, Vector3 desiredPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_2 = desiredPosition; } public static Vector3 get_startPosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_3; } public static void set_startPosition(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, Vector3 startPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_3 = startPosition; } public static float get_moveTime(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { return self.field_Private_Single_0; } public static void set_moveTime(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, float moveTime) { self.field_Private_Single_0 = moveTime; } public static float get_currentTime(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self) { return self.field_Private_Single_1; } public static void set_currentTime(this MonoBehaviour1PublicInbuBoacAumobtAuVeSiUnique self, float currentTime) { self.field_Private_Single_1 = currentTime; } } public static class ButtonTimerExtensions { public static GameModePublicInSiUISiIncuneSiUIBoUnique get_gameMode(this MonoBehaviourPublicTetinoTeneRacoTeCogrUnique self) { return self.field_Private_GameModePublicInSiUISiIncuneSiUIBoUnique_0; } public static void set_gameMode(this MonoBehaviourPublicTetinoTeneRacoTeCogrUnique self, GameModePublicInSiUISiIncuneSiUIBoUnique gameMode) { self.field_Private_GameModePublicInSiUISiIncuneSiUIBoUnique_0 = gameMode; } } public static class CameraControllerExtensions { public static int get_currentCamera(this MonoBehaviourPublicGacaInSiAucamuclAumoUnique self) { return self.field_Private_Int32_0; } public static void set_currentCamera(this MonoBehaviourPublicGacaInSiAucamuclAumoUnique self, int currentCamera) { self.field_Private_Int32_0 = currentCamera; } public static void NextCamera(this MonoBehaviourPublicGacaInSiAucamuclAumoUnique self) { self.Method_Private_Void_PDM_37(); } } public static class CameraRecoilExtensions { public static Vector3 get_currentRotation(this MonoBehaviourPublicVeVeUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_currentRotation(this MonoBehaviourPublicVeVeUnique self, Vector3 currentRotation) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = currentRotation; } } public static class CameraShakerExtensions { public static Shaker get_shaker(this MonoBehaviourPublicShdaguShpuheObShInShUnique self) { return self.field_Private_Shaker_0; } public static void set_shaker(this MonoBehaviourPublicShdaguShpuheObShInShUnique self, Shaker shaker) { self.field_Private_Shaker_0 = shaker; } } public static class ChatboxExtensions { public static Color get_console(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Color_0; } public static void set_console(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, Color console) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Color_0 = console; } public static int get_maxMsgLength(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Int32_0; } public static void set_maxMsgLength(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, int maxMsgLength) { self.field_Private_Int32_0 = maxMsgLength; } public static int get_maxChars(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Int32_1; } public static void set_maxChars(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, int maxChars) { self.field_Private_Int32_1 = maxChars; } public static int get_purgeAmount(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Int32_2; } public static void set_purgeAmount(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, int purgeAmount) { self.field_Private_Int32_2 = purgeAmount; } public static int get_deobf_maxConsecutiveChars(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Int32_3; } public static void set_deobf_maxConsecutiveChars(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, int deobf_maxConsecutiveChars) { self.field_Private_Int32_3 = deobf_maxConsecutiveChars; } public static List<string> get_profanity(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_List_1_String_0; } public static void set_profanity(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, List<string> profanity) { self.field_Private_List_1_String_0 = profanity; } public static string get_deobf_messageContents(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_String_0; } public static void set_deobf_messageContents(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, string deobf_messageContents) { self.field_Private_String_0 = deobf_messageContents; } public static string get_deobf_message(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_String_1; } public static void set_deobf_message(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, string deobf_message) { self.field_Private_String_1 = deobf_message; } public static string get_deobf_newLine(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_String_2; } public static void set_deobf_newLine(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, string deobf_newLine) { self.field_Private_String_2 = deobf_newLine; } public static bool get_backing_typing(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Boolean_0; } public static void set_backing_typing(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, bool backing_typing) { self.field_Private_Boolean_0 = backing_typing; } public static bool get_deobf_ready(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.field_Private_Boolean_0; } public static void set_deobf_ready(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, bool deobf_ready) { self.field_Private_Boolean_1 = deobf_ready; } public static Regex get_deobf_removeMultipleSpaces() { return MonoBehaviourPublicRaovTMinTemeColoonCoUnique.field_Private_Static_Regex_0; } public static void set_deobf_removeMultipleSpaces(Regex deobf_removeMultipleSpaces) { MonoBehaviourPublicRaovTMinTemeColoonCoUnique.field_Private_Static_Regex_0 = deobf_removeMultipleSpaces; } public static bool get_typing(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { return self.typing; } public static void set_typing(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, bool typing) { self.typing = typing; } public static void UserInput(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { self.Method_Private_Void_0(); } public static void ShowChat(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { self.Method_Private_Void_1(); } public static void Deobf_Cooldown(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { self.Method_Private_Void_PDM_38(); } public static void HideChat(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { self.Method_Private_Void_PDM_40(); } public static string TrimMessage(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self, string message) { return self.Method_Private_String_String_0(message); } public static void ClearMessage(this MonoBehaviourPublicRaovTMinTemeColoonCoUnique self) { self.Method_Private_Void_2(); } } public static class CinameticCameraExtensions { public static Vector3 get_desiredPosition(this MonoBehaviourPublicSispsiSifrVeSiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_desiredPosition(this MonoBehaviourPublicSispsiSifrVeSiUnique self, Vector3 desiredPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = desiredPosition; } public static void NewShake(this MonoBehaviourPublicSispsiSifrVeSiUnique self) { self.Method_Private_Void_PDM_49(); } } public static class CircleRatioUIExtensions { public static float get_currentValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self) { return self.field_Private_Single_0; } public static void set_currentValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self, float currentValue) { self.field_Private_Single_0 = currentValue; } public static float get_desiredValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self) { return self.field_Private_Single_1; } public static void set_desiredValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self, float desiredValue) { self.field_Private_Single_1 = desiredValue; } public static float get_currentValueMax(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self) { return self.field_Private_Single_2; } public static void set_currentValueMax(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self, float currentValueMax) { self.field_Private_Single_2 = currentValueMax; } public static float get_desiredValueMax(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self) { return self.field_Private_Single_3; } public static void set_desiredValueMax(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self, float desiredValueMax) { self.field_Private_Single_3 = desiredValueMax; } public static int get_maxValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self) { return self.field_Private_Int32_0; } public static void set_maxValue(this MonoBehaviourPublicImciTetemaTeSiInSiBoUnique self, int maxValue) { self.field_Private_Int32_0 = maxValue; } } public static class ClientExtensions { public static bool get_activePlayer(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_0; } public static void set_activePlayer(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool activePlayer) { self.field_Public_Boolean_0 = activePlayer; } public static bool get_readyToLoad(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_1; } public static void set_readyToLoad(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool readyToLoad) { self.field_Public_Boolean_1 = readyToLoad; } public static bool get_isLoading(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_2; } public static void set_isLoading(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool isLoading) { self.field_Public_Boolean_2 = isLoading; } public static bool get_vcEnabled(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_3; } public static void set_vcEnabled(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool vcEnabled) { self.field_Public_Boolean_3 = vcEnabled; } public static bool get_kicked(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_4; } public static void set_kicked(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool kicked) { self.field_Public_Boolean_4 = kicked; } public static bool get_punchCooldown(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_5; } public static void set_punchCooldown(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool punchCooldown) { self.field_Public_Boolean_5 = punchCooldown; } public static bool get_deobf_chatCooldown(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_6; } public static void set_deobf_chatCooldown(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool deobf_chatCooldown) { self.field_Public_Boolean_6 = deobf_chatCooldown; } public static bool get_deobf_hasDrip(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Boolean_7; } public static void set_deobf_hasDrip(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, bool deobf_hasDrip) { self.field_Public_Boolean_7 = deobf_hasDrip; } public static int get_ping(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Int32_0; } public static void set_ping(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int ping) { self.field_Public_Int32_0 = ping; } public static int get_colorId(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Int32_1; } public static void set_colorId(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int colorId) { self.field_Public_Int32_1 = colorId; } public static int get_money(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Int32_2; } public static void set_money(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int money) { self.field_Public_Int32_2 = money; } public static int get_deobf_dripLength(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Int32_3; } public static void set_deobf_dripLength(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int deobf_dripLength) { self.field_Public_Int32_3 = deobf_dripLength; } public static CSteamID get_steamId(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Public_CSteamID_0; } public static void set_steamId(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, CSteamID steamId) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Public_CSteamID_0 = steamId; } public static ItemData[] get_inventory(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return Il2CppArrayBase<ItemData>.op_Implicit((Il2CppArrayBase<ItemData>)(object)self.field_Public_ArrayOf_ItemData_0); } public static void set_inventory(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, ItemData[] inventory) { self.field_Public_ArrayOf_ItemData_0 = Il2CppReferenceArray<ItemData>.op_Implicit(inventory); } public static float get_punchCooldownTime(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Private_Single_0; } public static void set_punchCooldownTime(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, float punchCooldownTime) { self.field_Private_Single_0 = punchCooldownTime; } public static float get_deobf_chatCooldownTime(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return self.field_Public_Single_0; } public static void set_deobf_chatCooldownTime(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, float deobf_chatCooldownTime) { self.field_Public_Single_0 = deobf_chatCooldownTime; } public static byte[] get_deobf_drip(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { return Il2CppArrayBase<byte>.op_Implicit((Il2CppArrayBase<byte>)(object)self.field_Public_ArrayOf_Byte_0); } public static void set_deobf_drip(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, byte[] deobf_drip) { self.field_Public_ArrayOf_Byte_0 = Il2CppStructArray<byte>.op_Implicit(deobf_drip); } public static bool Deobf_HasItemById(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int itemId) { return self.Method_Public_Boolean_Int32_0(itemId); } public static void HandleItem(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique item) { self.Method_Public_Void_MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique_1(item); } public static void Deobf_SetDrip(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, byte[] deobf_drip, int deobf_dripLength) { self.Method_Public_Void_ArrayOf_Byte_Int32_0(Il2CppStructArray<byte>.op_Implicit(deobf_drip), deobf_dripLength); } public static void ResetClient(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { self.Method_Private_Void_PDM_0(); } public static void StartPunchCooldown(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { self.Method_Public_Void_1(); } public static void RemoveItem(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int objectId) { self.Method_Public_Void_Int32_0(objectId); } public static void AddItem(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique item) { self.Method_Public_Void_MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique_5(item); } public static void AddAmmo(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique item) { self.Method_Public_Void_MonoBehaviour1PublicAbstractItitBoGapiTrrileTrObUnique_6(item); } public static bool HasItem(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int itemId, int objectId) { return self.Method_Public_Boolean_Int32_Int32_0(itemId, objectId); } public static void DropInventory(this ObjectPublicBoInBoCSItBoInSiBySiUnique self) { self.Method_Public_Void_3(); } public static void Deobf_RemoveItemById(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, int itemId) { self.Method_Public_Void_Int32_1(itemId); } public static void AddItem(this ObjectPublicBoInBoCSItBoInSiBySiUnique self, ItemData item) { self.Method_Public_Void_ItemData_2(item); } } public static class ClientHandleExtensions { public static ulong get_deobf_spectatorId() { return MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_0; } public static void set_deobf_spectatorId(ulong deobf_spectatorId) { MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_0 = deobf_spectatorId; } public static ulong get_deobf_spectatingId() { return MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_1; } public static void set_deobf_spectatingId(ulong deobf_spectatingId) { MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_1 = deobf_spectatingId; } public static ulong get_deobf_clientId() { return MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_2; } public static void set_deobf_clientId(ulong deobf_clientId) { MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_UInt64_2 = deobf_clientId; } public static int get_deobf_dripLength() { return MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_Int32_0; } public static void set_deobf_dripLength(int deobf_dripLength) { MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_Int32_0 = deobf_dripLength; } public static byte[] get_deobf_drip() { return Il2CppArrayBase<byte>.op_Implicit((Il2CppArrayBase<byte>)(object)MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_ArrayOf_Byte_0); } public static void set_deobf_drip(byte[] deobf_drip) { MonoBehaviourPublicUIInUIByUIUnique.field_Private_Static_ArrayOf_Byte_0 = Il2CppStructArray<byte>.op_Implicit(deobf_drip); } public static void ActuallyLoad() { MonoBehaviourPublicUIInUIByUIUnique.Method_Private_Static_Void_PDM_0(); } public static void LoadWinnerScene() { MonoBehaviourPublicUIInUIByUIUnique.Method_Private_Static_Void_PDM_2(); } } public static class ClientSendExtensions { public static int get_deobf_reliable() { return MonoBehaviourPublicInpabyInInInUnique.field_Private_Static_Int32_0; } public static void set_deobf_reliable(int deobf_reliable) { MonoBehaviourPublicInpabyInInInUnique.field_Private_Static_Int32_0 = deobf_reliable; } public static int get_deobf_unreliable() { return MonoBehaviourPublicInpabyInInInUnique.field_Private_Static_Int32_1; } public static void set_deobf_unreliable(int deobf_unreliable) { MonoBehaviourPublicInpabyInInInUnique.field_Private_Static_Int32_1 = deobf_unreliable; } public static void SendTCPData(ObjectPublicIDisposableLi1ByInByBoUnique packet) { MonoBehaviourPublicInpabyInInInUnique.Method_Private_Static_Void_ObjectPublicIDisposableLi1ByInByBoUnique_2(packet); } public static void SendTCPData(ObjectPublicIDisposableLi1ByInByBoUnique packet, ulong clientId) { MonoBehaviourPublicInpabyInInInUnique.Method_Private_Static_Void_ObjectPublicIDisposableLi1ByInByBoUnique_UInt64_0(packet, clientId); } public static void SendUDPData(ObjectPublicIDisposableLi1ByInByBoUnique packet) { MonoBehaviourPublicInpabyInInInUnique.Method_Private_Static_Void_ObjectPublicIDisposableLi1ByInByBoUnique_1(packet); } public static void SendUDPData(ObjectPublicIDisposableLi1ByInByBoUnique packet, ulong clientId) { MonoBehaviourPublicInpabyInInInUnique.Method_Private_Static_Void_ObjectPublicIDisposableLi1ByInByBoUnique_UInt64_1(packet, clientId); } } public static class ControlSettingExtensions { public static string get_actionName(this MonoBehaviour1PublicTekeIncuStUnique self) { return self.field_Private_String_0; } public static void set_actionName(this MonoBehaviour1PublicTekeIncuStUnique self, string actionName) { self.field_Private_String_0 = actionName; } public static void UpdateSetting(this MonoBehaviour1PublicTekeIncuStUnique self) { self.Method_Private_Void_0(); } public static string intToKeyCode(this MonoBehaviour1PublicTekeIncuStUnique self, int keyCode) { return self.Method_Private_String_Int32_0(keyCode); } } public static class DamageNumbersExtensions { public static Vector3 get_desiredPos(this MonoBehaviourPublicTeteVeVeUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_desiredPos(this MonoBehaviourPublicTeteVeVeUnique self, Vector3 desiredPos) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = desiredPos; } public static Vector3 get_shooterPos(this MonoBehaviourPublicTeteVeVeUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_1; } public static void set_shooterPos(this MonoBehaviourPublicTeteVeVeUnique self, Vector3 shooterPos) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_1 = shooterPos; } public static void StartFade(this MonoBehaviourPublicTeteVeVeUnique self) { self.Method_Private_Void_PDM_13(); } } public static class DebugNetExtensions { public static bool get_fpsOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Boolean_0; } public static void set_fpsOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, bool fpsOn) { self.field_Private_Boolean_0 = fpsOn; } public static bool get_speedOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Boolean_1; } public static void set_speedOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, bool speedOn) { self.field_Private_Boolean_1 = speedOn; } public static bool get_pingOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Boolean_2; } public static void set_pingOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, bool pingOn) { self.field_Private_Boolean_2 = pingOn; } public static bool get_bandwidthOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Boolean_3; } public static void set_bandwidthOn(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, bool bandwidthOn) { self.field_Private_Boolean_3 = bandwidthOn; } public static float get_deltaTime(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Single_0; } public static void set_deltaTime(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, float deltaTime) { self.field_Private_Single_0 = deltaTime; } public static float get_byteUp(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Single_1; } public static void set_byteUp(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, float byteUp) { self.field_Private_Single_1 = byteUp; } public static float get_byteDown(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Single_2; } public static void set_byteDown(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, float byteDown) { self.field_Private_Single_2 = byteDown; } public static float get_pSent(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Single_3; } public static void set_pSent(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, float pSent) { self.field_Private_Single_3 = pSent; } public static float get_pReceived(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { return self.field_Private_Single_4; } public static void set_pReceived(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self, float pReceived) { self.field_Private_Single_4 = pReceived; } public static void Fps(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { self.Method_Private_Void_0(); } public static void Bandwidth(this MonoBehaviourPublicTefpGacoBoSiBoLi1BoUnique self) { self.Method_Private_Void_PDM_45(); } } public static class DecalsExtensions { public static List<MeshRenderer> get_decalPool(this MonoBehaviourPublicGadeLi1MeInObInInUnique self) { return self.field_Private_List_1_MeshRenderer_0; } public static void set_decalPool(this MonoBehaviourPublicGadeLi1MeInObInInUnique self, List<MeshRenderer> decalPool) { self.field_Private_List_1_MeshRenderer_0 = decalPool; } public static int get_index(this MonoBehaviourPublicGadeLi1MeInObInInUnique self) { return self.field_Private_Int32_0; } public static void set_index(this MonoBehaviourPublicGadeLi1MeInObInInUnique self, int index) { self.field_Private_Int32_0 = index; } public static int get_maxSize(this MonoBehaviourPublicGadeLi1MeInObInInUnique self) { return self.field_Private_Int32_1; } public static void set_maxSize(this MonoBehaviourPublicGadeLi1MeInObInInUnique self, int maxSize) { self.field_Private_Int32_1 = maxSize; } } public static class DestroyObjectExtensions { public static void DestroySelf(this MonoBehaviourPublicSitiUnique self) { self.Method_Private_Void_PDM_3(); } } public static class DetectItemsExtensions { public static void RemoveHighlight(this MonoBehaviourPublicLawhTrcaGacuMaouUnique self) { self.Method_Private_Void_PDM_3(); } public static void AddHighlight(this MonoBehaviourPublicLawhTrcaGacuMaouUnique self, GameObject gameObject) { self.Method_Private_Void_GameObject_PDM_11(gameObject); } public static void CheckHighlight(this MonoBehaviourPublicLawhTrcaGacuMaouUnique self, GameObject gameObject) { self.Method_Private_Void_GameObject_PDM_20(gameObject); } public static void CheckForItems(this MonoBehaviourPublicLawhTrcaGacuMaouUnique self) { self.Method_Private_Void_PDM_85(); } } public static class DiffuseAudioExtensions { public static float get_backing_defaultVolume(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.field_Private_Single_0; } public static void set_backing_defaultVolume(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float backing_defaultVolume) { self.field_Private_Single_0 = backing_defaultVolume; } public static float get_multiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.field_Private_Single_1; } public static void set_multiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float multiplier) { self.field_Private_Single_1 = multiplier; } public static float get_defaultHz(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.field_Private_Single_2; } public static void set_defaultHz(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float defaultHz) { self.field_Private_Single_2 = defaultHz; } public static float get_volumeMultiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.field_Private_Single_3; } public static void set_volumeMultiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float volumeMultiplier) { self.field_Private_Single_3 = volumeMultiplier; } public static float get_filterMultiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.field_Private_Single_4; } public static void set_filterMultiplier(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float filterMultiplier) { self.field_Private_Single_4 = filterMultiplier; } public static float get_defaultVolume(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self) { return self.defaultVolume; } public static void set_defaultVolume(this MonoBehaviourPublicSiBoSimudiSiAusofiAuUnique self, float defaultVolume) { self.defaultVolume = defaultVolume; } } public static class DisplayNameUIExtensions { public static bool get_hidden(this MonoBehaviourPublicTenaBoUnique self) { return self.field_Private_Boolean_0; } public static void set_hidden(this MonoBehaviourPublicTenaBoUnique self, bool hidden) { self.field_Private_Boolean_0 = hidden; } } public static class DissonanceManagerExtensions { public static void OnPlayerJoined(this MonoBehaviourPublicObdicoObInGaObdiUnique self, ObjectPublicAbstractObStAc12ObAc1BoStUnique player) { self.Method_Private_Void_ObjectPublicAbstractObStAc12ObAc1BoStUnique_4(player); } } public static class DissonancePlayerExtensions { public static bool get_isTracking(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Boolean_0; } public static void set_isTracking(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, bool isTracking) { self.field_Private_Boolean_0 = isTracking; } public static bool get_isLocal(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Boolean_1; } public static void set_isLocal(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, bool isLocal) { self.field_Private_Boolean_1 = isLocal; } public static string get_playerId(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_String_0; } public static void set_playerId(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, string playerId) { self.field_Private_String_0 = playerId; } public static MonoBehaviourPublicSealedObSt_lBo_iObStBoSi_iUnique get_comms(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_MonoBehaviourPublicSealedObSt_lBo_iObStBoSi_iUnique_0; } public static void set_comms(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, MonoBehaviourPublicSealedObSt_lBo_iObStBoSi_iUnique comms) { self.field_Private_MonoBehaviourPublicSealedObSt_lBo_iObStBoSi_iUnique_0 = comms; } public static float get_maxRadius(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Single_0; } public static void set_maxRadius(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, float maxRadius) { self.field_Private_Single_0 = maxRadius; } public static float get_minRadius(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Single_1; } public static void set_minRadius(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, float minRadius) { self.field_Private_Single_1 = minRadius; } public static int get_maxPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Int32_0; } public static void set_maxPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, int maxPlayers) { self.field_Private_Int32_0 = maxPlayers; } public static int get_minPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Int32_1; } public static void set_minPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, int minPlayers) { self.field_Private_Int32_1 = minPlayers; } public static int get_currentPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.field_Private_Int32_2; } public static void set_currentPlayers(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self, int currentPlayers) { self.field_Private_Int32_2 = currentPlayers; } public static bool get_IsTracking(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.IsTracking; } public static string get_PlayerId(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { return self.PlayerId; } public static Vector3 get_Position(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.Position; } public static Quaternion get_Rotation(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.Rotation; } public static EnumPublicSealedvaUnLoRe4vUnique get_Type(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.Type; } public static void SetSphereRadius(this MonoBehaviourPublicBoloStBoTrorBoObpmSpUnique self) { self.Method_Private_Void_PDM_9(); } } public static class DropdownSettingExtensions { public static Resolution[] get_resolutions(this MonoBehaviour1PublicTMdrTeseReUnique self) { return Il2CppArrayBase<Resolution>.op_Implicit((Il2CppArrayBase<Resolution>)(object)self.field_Private_ArrayOf_Resolution_0); } public static void set_resolutions(this MonoBehaviour1PublicTMdrTeseReUnique self, Resolution[] resolutions) { self.field_Private_ArrayOf_Resolution_0 = Il2CppStructArray<Resolution>.op_Implicit(resolutions); } public static void UpdateSetting(this MonoBehaviour1PublicTMdrTeseReUnique self) { self.Method_Private_Void_6(); } } public static class EffectManagerExtensions { public static void Deobf_DetectModding(this MonoBehaviourPublicGataInefObInUnique self, GameObject gameObject, bool unusedBool, Vector3 unusedVector3, Quaternion unusedQuaternion) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) self.Method_Private_Void_GameObject_Boolean_Vector3_Quaternion_0(gameObject, unusedBool, unusedVector3, unusedQuaternion); } } public static class EnableAudioExtensions { public static void Activate(this MonoBehaviourPublicGaauSitiUnique self) { self.Method_Private_Void_PDM_38(); } } public static class EnableDepthBufferExtensions { public static Camera get_m_camera(this MonoBehaviourPublicCaUnique self) { return self.field_Private_Camera_0; } public static void set_m_camera(this MonoBehaviourPublicCaUnique self, Camera m_camera) { self.field_Private_Camera_0 = m_camera; } } public static class ExplodePlayerExtensions { public static float get_force(this MonoBehaviourPublicRiboSiUnique self) { return self.field_Private_Single_0; } public static void set_force(this MonoBehaviourPublicRiboSiUnique self, float force) { self.field_Private_Single_0 = force; } } public static class FollowTargetExtensions { public static Vector3 get_offset(this MonoBehaviourPublicTrtaBokeVeUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_offset(this MonoBehaviourPublicTrtaBokeVeUnique self, Vector3 offset) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = offset; } } public static class FootStepExtensions { public static void FindGroundType(this MonoBehaviourPublicLawhObraAugegrAuUnique self) { self.Method_Private_Void_0(); } } public static class FootstepOnTouchExtensions { public static bool get_ready(this MonoBehaviourPublicGafoBoSiUnique self) { return self.field_Private_Boolean_0; } public static void set_ready(this MonoBehaviourPublicGafoBoSiUnique self, bool ready) { self.field_Private_Boolean_0 = ready; } public static float get_cooldown(this MonoBehaviourPublicGafoBoSiUnique self) { return self.field_Private_Single_0; } public static void set_cooldown(this MonoBehaviourPublicGafoBoSiUnique self, float cooldown) { self.field_Private_Single_0 = cooldown; } } public static class GameAudioExtensions { public static bool get_firstTick(this MonoBehaviourPublicAuroObAuroclriAuroObUnique self) { return self.field_Private_Boolean_0; } public static void set_firstTick(this MonoBehaviourPublicAuroObAuroclriAuroObUnique self, bool firstTick) { self.field_Private_Boolean_0 = firstTick; } } public static class GameLoopExtensions { public static Random get_random(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.field_Private_Random_0; } public static void set_random(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self, Random random) { self.field_Private_Random_0 = random; } public static int get_backing_currentMapIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.field_Private_Int32_0; } public static void set_backing_currentMapIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self, int backing_currentMapIndex) { self.field_Private_Int32_0 = backing_currentMapIndex; } public static int get_backing_currentModeIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.field_Private_Int32_1; } public static void set_backing_currentModeIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self, int backing_currentModeIndex) { self.field_Private_Int32_1 = backing_currentModeIndex; } public static int get_currentMapIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.currentMapIndex; } public static void set_currentMapIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self, int currentMapIndex) { self.currentMapIndex = currentMapIndex; } public static int get_currentModeIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.currentModeIndex; } public static void set_currentModeIndex(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self, int currentModeIndex) { self.currentModeIndex = currentModeIndex; } public static void CheckDeadPlayers(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { self.Method_Private_Void_0(); } public static void ResetGameModesList(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { self.Method_Private_Void_1(); } public static void ResetReadyToJoin(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { self.Method_Private_Void_2(); } public static ulong FindWinnerId(this MonoBehaviourPublicObInLi1GagasmLi1GaUnique self) { return self.Method_Private_UInt64_0(); } } public static class GameManagerExtensions { public static GameObject get_spectatorObject(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_GameObject_0; } public static void set_spectatorObject(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, GameObject spectatorObject) { self.field_Private_GameObject_0 = spectatorObject; } public static ulong get_deobf_clientId(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_UInt64_0; } public static void set_deobf_clientId(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, ulong deobf_clientId) { self.field_Private_UInt64_0 = deobf_clientId; } public static Vector3 get_deobf_position(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_Vector3_0; } public static void set_deobf_position(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, Vector3 deobf_position) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_Vector3_0 = deobf_position; } public static float get_deobf_rotationX(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_Single_0; } public static void set_deobf_rotationX(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, float deobf_rotationX) { self.field_Private_Single_0 = deobf_rotationX; } public static float get_deobf_rotationY(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_Single_1; } public static void set_deobf_rotationY(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, float deobf_rotationY) { self.field_Private_Single_1 = deobf_rotationY; } public static EnumNPublicSealedvaCrMe3vUnique get_deobf_playerAnimation(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return self.field_Private_EnumNPublicSealedvaCrMe3vUnique_0; } public static void set_deobf_playerAnimation(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, EnumNPublicSealedvaCrMe3vUnique deobf_playerAnimation) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) self.field_Private_EnumNPublicSealedvaCrMe3vUnique_0 = deobf_playerAnimation; } public static bool get_deobf_crouchState(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_Boolean_0; } public static void set_deobf_crouchState(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, bool deobf_crouchState) { self.field_Private_Boolean_0 = deobf_crouchState; } public static int get_deobf_playersAlive(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { return self.field_Private_Int32_0; } public static void set_deobf_playersAlive(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, int deobf_playersAlive) { self.field_Private_Int32_0 = deobf_playersAlive; } public static void RequestSpawn(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self) { self.Method_Private_Void_0(); } public static void OnPlayerSpawnOrDespawn(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, ulong clientId) { self.Method_Private_Void_UInt64_PDM_1(clientId); } public static IEnumerator StopPlayerVoip(this MonoBehaviourPublicDi2UIObacspDi2UIObUnique self, MonoBehaviourPublicCSstReshTrheObplBojuUnique playerManager, float speakAfterDeathTime) { return self.Method_Private_IEnumerator_MonoBehaviourPublicCSstReshTrheObplBojuUnique_Single_0(playerManager, speakAfterDeathTime); } } public static class GameModeExtensions { public static void UpdateTimer(this GameMode self) { self.Method_Private_Void_PDM_0(); } public static void StartRound(this GameMode self) { self.Method_Private_Void_0(); } public static void StartMusic(this GameMode self) { self.Method_Private_Void_PDM_1(); } public static void UpdateMusic(this GameMode self) { self.Method_Private_Void_PDM_2(); } public static void EndMusic(this GameMode self) { self.Method_Protected_Void_0(); } } public static class GameModeBombTagExtensions { public static int get_bombsLeft(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_Int32_0; } public static void set_bombsLeft(this GameModePublicInSiLiSiIn1UIObBoUnique self, int bombsLeft) { self.field_Private_Int32_0 = bombsLeft; } public static float get_intervalTime(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_Single_0; } public static void set_intervalTime(this GameModePublicInSiLiSiIn1UIObBoUnique self, float intervalTime) { self.field_Private_Single_0 = intervalTime; } public static float get_fuseTime(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_Single_1; } public static void set_fuseTime(this GameModePublicInSiLiSiIn1UIObBoUnique self, float fuseTime) { self.field_Private_Single_1 = fuseTime; } public static int get_maxBombs(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_Int32_1; } public static void set_maxBombs(this GameModePublicInSiLiSiIn1UIObBoUnique self, int maxBombs) { self.field_Private_Int32_1 = maxBombs; } public static List<ulong> get_taggedPlayers(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_List_1_UInt64_0; } public static void set_taggedPlayers(this GameModePublicInSiLiSiIn1UIObBoUnique self, List<ulong> taggedPlayers) { self.field_Private_List_1_UInt64_0 = taggedPlayers; } public static ObjectPublicSiBoSiSiSiUnique get_bombTimer(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_ObjectPublicSiBoSiSiSiUnique_0; } public static void set_bombTimer(this GameModePublicInSiLiSiIn1UIObBoUnique self, ObjectPublicSiBoSiSiSiUnique bombTimer) { self.field_Private_ObjectPublicSiBoSiSiSiUnique_0 = bombTimer; } public static bool get_showedAlert(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.field_Private_Boolean_0; } public static void set_showedAlert(this GameModePublicInSiLiSiIn1UIObBoUnique self, bool showedAlert) { self.field_Private_Boolean_0 = showedAlert; } public static List<ulong> GetAllAlivePlayers(this GameModePublicInSiLiSiIn1UIObBoUnique self) { return self.Method_Private_List_1_UInt64_2(); } public static void ExplodeBomb(this GameModePublicInSiLiSiIn1UIObBoUnique self) { self.Method_Private_Void_4(); } public static void SendTagPlayer(this GameModePublicInSiLiSiIn1UIObBoUnique self, ulong bomberClientId, ulong taggedClientId) { self.Method_Private_Void_UInt64_UInt64_4(bomberClientId, taggedClientId); } public static void SelectBomber(this GameModePublicInSiLiSiIn1UIObBoUnique self) { self.Method_Private_Void_5(); } } public static class GameModeButtonsExtensions { public static int get_dangerousButton(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Int32_0; } public static void set_dangerousButton(this GameModePublicInSiUISiIncuneSiUIBoUnique self, int dangerousButton) { self.field_Private_Int32_0 = dangerousButton; } public static float get_maxModeTime(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Single_0; } public static void set_maxModeTime(this GameModePublicInSiUISiIncuneSiUIBoUnique self, float maxModeTime) { self.field_Private_Single_0 = maxModeTime; } public static float get_timeToPressButton(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Single_1; } public static void set_timeToPressButton(this GameModePublicInSiUISiIncuneSiUIBoUnique self, float timeToPressButton) { self.field_Private_Single_1 = timeToPressButton; } public static float get_timeToGetOffStage(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Single_2; } public static void set_timeToGetOffStage(this GameModePublicInSiUISiIncuneSiUIBoUnique self, float timeToGetOffStage) { self.field_Private_Single_2 = timeToGetOffStage; } public static float get_timeToRevealExplosion(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Single_3; } public static void set_timeToRevealExplosion(this GameModePublicInSiUISiIncuneSiUIBoUnique self, float timeToRevealExplosion) { self.field_Private_Single_3 = timeToRevealExplosion; } public static int get_desiredPlayersLeft(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Int32_1; } public static void set_desiredPlayersLeft(this GameModePublicInSiUISiIncuneSiUIBoUnique self, int desiredPlayersLeft) { self.field_Private_Int32_1 = desiredPlayersLeft; } public static bool get_canPressButton(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Boolean_0; } public static void set_currentButtonPresser(this GameModePublicInSiUISiIncuneSiUIBoUnique self, bool canPressButton) { self.field_Private_Boolean_0 = canPressButton; } public static int get_lastTick(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Int32_2; } public static void set_lastTick(this GameModePublicInSiUISiIncuneSiUIBoUnique self, int lastTick) { self.field_Private_Int32_2 = lastTick; } public static Random get_random(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Random_0; } public static void set_random(this GameModePublicInSiUISiIncuneSiUIBoUnique self, Random random) { self.field_Private_Random_0 = random; } public static float get_killRatio(this GameModePublicInSiUISiIncuneSiUIBoUnique self) { return self.field_Private_Single_4; } public static void set_killRatio(this GameModePublicInSiUISiIncuneSiUIBoUnique self, float killRatio) { self.field_Private_Single_4 = killRatio; } public static void IncrementPlayerIndex(this GameModePublicInSiUISiIncuneSiUIBoUnique self) {