using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Core.Logging.Interpolation;
using BepInEx.Logging;
using BepInEx.NET.Common;
using BepInExResoniteShim;
using BepisLocaleLoader;
using Elements.Core;
using FrooxEngine;
using FrooxEngine.Store;
using FrooxEngine.UIX;
using Md.FrooxEngine.NewWorldDialog;
using Md.FrooxEngine.ResoniteLinkHost;
using Md.FrooxEngine.World;
using Microsoft.CodeAnalysis;
using MonoDetour;
using MonoDetour.Cil;
using MonoDetour.DetourTypes;
using MonoDetour.HookGen;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
[assembly: IgnoresAccessChecksTo("FrooxEngine")]
[assembly: AssemblyCompany("hazre")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.1+b0cbfaa562d125a46ae02d843ee6a339dbdb59ca")]
[assembly: AssemblyProduct("ResoniteLinkPlus")]
[assembly: AssemblyTitle("ResoniteLinkPlus")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/hazre/ResoniteLinkPlus")]
[assembly: SecurityPermission((SecurityAction)8, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Md.FrooxEngine.ResoniteLinkHost
{
internal static class Start
{
public delegate void PrefixSignature(ResoniteLinkHost self, ref int? port);
public delegate void PostfixSignature(ResoniteLinkHost self, ref int? port, ref bool returnValue);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(ResoniteLinkHost).GetMethod("Start", (BindingFlags)(-1), (Binder)null, new System.Type[1] { typeof(int?) }, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.ResoniteLinkHost", "Start"));
}
}
internal static class Dispose
{
public delegate void PrefixSignature(ResoniteLinkHost self);
public delegate void PostfixSignature(ResoniteLinkHost self);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(ResoniteLinkHost).GetMethod("Dispose", (BindingFlags)(-1), (Binder)null, System.Array.Empty<System.Type>(), (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.ResoniteLinkHost", "Dispose"));
}
}
internal static class get_World
{
}
internal static class set_World
{
}
internal static class get_Port
{
}
internal static class set_Port
{
}
internal static class get_References
{
}
internal static class set_References
{
}
internal static class get_Translator
{
}
internal static class set_Translator
{
}
internal static class get_AssetImporter
{
}
internal static class set_AssetImporter
{
}
internal static class get_Reflection
{
}
internal static class set_Reflection
{
}
internal static class get_CanRead
{
}
internal static class get_CanWrite
{
}
internal static class _ctor
{
}
internal static class Update
{
}
internal static class MessageReceived
{
}
internal static class ClientDisconnected
{
}
internal static class ClientConnected
{
}
internal static class Send
{
}
internal static class _Start_b__37_0
{
}
internal static class OutgoingMessage
{
internal static class _ctor
{
}
internal static class _ctor_WatsonWebsocket_ClientMetadata_System_String
{
}
}
internal static class __Start_b__37_0_d
{
internal static class _ctor
{
}
internal static class MoveNext
{
}
internal static class SetStateMachine
{
}
}
}
namespace Md.FrooxEngine.World
{
internal static class RunInUpdates
{
public delegate void PrefixSignature(World self, ref int updates, ref Action action);
public delegate void PostfixSignature(World self, ref int updates, ref Action action, ref Coroutine returnValue);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("RunInUpdates", (BindingFlags)(-1), (Binder)null, new System.Type[2]
{
typeof(int),
typeof(Action)
}, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "RunInUpdates"));
}
}
internal static class ToString
{
public delegate void PrefixSignature(World self);
public delegate void PostfixSignature(World self, ref string returnValue);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("ToString", (BindingFlags)(-1), (Binder)null, System.Array.Empty<System.Type>(), (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "ToString"));
}
}
internal static class StartSession
{
public delegate void PrefixSignature(ref WorldManager manager, ref WorldAction init, ref Dictionary<string, ushort> ports, ref string forceSessionId, ref DataTreeNode load, ref Record record, ref bool unsafeMode, ref System.Collections.Generic.IEnumerable<AssemblyTypeRegistry> assemblies);
public delegate void PostfixSignature(ref WorldManager manager, ref WorldAction init, ref Dictionary<string, ushort> ports, ref string forceSessionId, ref DataTreeNode load, ref Record record, ref bool unsafeMode, ref System.Collections.Generic.IEnumerable<AssemblyTypeRegistry> assemblies, ref World returnValue);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("StartSession", (BindingFlags)(-1), (Binder)null, new System.Type[8]
{
typeof(WorldManager),
typeof(WorldAction),
typeof(Dictionary<string, ushort>),
typeof(string),
typeof(DataTreeNode),
typeof(Record),
typeof(bool),
typeof(System.Collections.Generic.IEnumerable<AssemblyTypeRegistry>)
}, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "StartSession"));
}
}
internal static class Destroy
{
public delegate void PrefixSignature(World self);
public delegate void PostfixSignature(World self);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("Destroy", (BindingFlags)(-1), (Binder)null, System.Array.Empty<System.Type>(), (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "Destroy"));
}
}
internal static class StartResoniteLink
{
public delegate void PrefixSignature(World self, ref int? port);
public delegate void PostfixSignature(World self, ref int? port, ref bool returnValue);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("StartResoniteLink", (BindingFlags)(-1), (Binder)null, new System.Type[1] { typeof(int?) }, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "StartResoniteLink"));
}
}
internal static class Dispose
{
public delegate void PrefixSignature(World self);
public delegate void PostfixSignature(World self);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(World).GetMethod("Dispose", (BindingFlags)(-1), (Binder)null, System.Array.Empty<System.Type>(), (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.World", "Dispose"));
}
}
internal static class get_Engine
{
}
internal static class get_RandomizationSeed
{
}
internal static class set_RandomizationSeed
{
}
internal static class get_Obfuscation_KEY
{
}
internal static class set_Obfuscation_KEY
{
}
internal static class get_Obfuscation_IV
{
}
internal static class set_Obfuscation_IV
{
}
internal static class GetRandomizationTable
{
}
internal static class InitializeRandomizationTables
{
}
internal static class get_AccessLevel
{
}
internal static class set_AccessLevel
{
}
internal static class get_HideFromListing
{
}
internal static class set_HideFromListing
{
}
internal static class get_UseCustomJoinVerifier
{
}
internal static class set_UseCustomJoinVerifier
{
}
internal static class get_AnnounceOnWAN
{
}
internal static class get_AwayKickEnabled
{
}
internal static class set_AwayKickEnabled
{
}
internal static class get_AwayKickMinutes
{
}
internal static class set_AwayKickMinutes
{
}
internal static class get_AwayKickInterval
{
}
internal static class set_AwayKickInterval
{
}
internal static class get_IsPublic
{
}
internal static class get_AnnounceOnLAN
{
}
internal static class AllowUserToJoin
{
}
internal static class RemoveAllowedUser
{
}
internal static class IsUserAllowed
{
}
internal static class GetAllowedUserList
{
}
internal static class AddInviteRequestHandler
{
}
internal static class RemoveInviteRequestHandler
{
}
internal static class GetInviteHandlerUsers
{
}
internal static class get_Focus
{
}
internal static class set_Focus
{
}
internal static class get_LastFocusChange
{
}
internal static class set_LastFocusChange
{
}
internal static class get_Parent
{
}
internal static class set_Parent
{
}
internal static class get_SourceLink
{
}
internal static class set_SourceLink
{
}
internal static class get_RecordURL
{
}
internal static class get_RecordWebURL
{
}
internal static class get_CorrespondingRecord
{
}
internal static class set_CorrespondingRecord
{
}
internal static class get_SourceURLs
{
}
internal static class set_SourceURLs
{
}
internal static class set_SourceURL
{
}
internal static class get_SessionURLs
{
}
internal static class get_AllGlobalUrisRegistered
{
}
internal static class set_AllGlobalUrisRegistered
{
}
internal static class CreateNewRecord_System_String_System_String
{
}
internal static class CreateNewRecord_System_String
{
}
internal static class AssignNewRecord
{
}
internal static class GetRecordOrCreate
{
}
internal static class GetCorrespondingOwnerId
{
}
internal static class get_State
{
}
internal static class set_State
{
}
internal static class get_IsInitializingOrLoading
{
}
internal static class set_IsInitializingOrLoading
{
}
internal static class add_FinalUserPoseUpdated
{
}
internal static class remove_FinalUserPoseUpdated
{
}
internal static class add__worldRunning
{
}
internal static class remove__worldRunning
{
}
internal static class add_WorldRunning
{
}
internal static class remove_WorldRunning
{
}
internal static class add__worldDestroyed
{
}
internal static class remove__worldDestroyed
{
}
internal static class add_WorldDestroyed
{
}
internal static class remove_WorldDestroyed
{
}
internal static class get_RefreshRunning
{
}
internal static class set_RefreshRunning
{
}
internal static class get_InitState
{
}
internal static class set_InitState
{
}
internal static class get_FailState
{
}
internal static class set_FailState
{
}
internal static class get_FailReasonDescription
{
}
internal static class set_FailReasonDescription
{
}
internal static class get_IsDestroyed
{
}
internal static class set_IsDestroyed
{
}
internal static class get_IsAuthority
{
}
internal static class set_IsAuthority
{
}
internal static class get_SyncTick
{
}
internal static class set_SyncTick
{
}
internal static class get_StateVersion
{
}
internal static class set_StateVersion
{
}
internal static class get_GenerateDeltaSyncData
{
}
internal static class set_GenerateDeltaSyncData
{
}
internal static class get_LocalUser
{
}
internal static class set_LocalUser
{
}
internal static class get_MaxUsers
{
}
internal static class set_MaxUsers
{
}
internal static class get_LocalUserSpace
{
}
internal static class get_LocalUserGlobalPosition
{
}
internal static class set_LocalUserGlobalPosition
{
}
internal static class get_LocalUserGlobalRotation
{
}
internal static class set_LocalUserGlobalRotation
{
}
internal static class get_LocalUserGlobalScale
{
}
internal static class set_LocalUserGlobalScale
{
}
internal static class get_LocalUserTransform
{
}
internal static class get_OverrideViewPosition
{
}
internal static class set_OverrideViewPosition
{
}
internal static class get_LocalUserViewPosition
{
}
internal static class set_LocalUserViewPosition
{
}
internal static class get_LocalUserViewRotation
{
}
internal static class set_LocalUserViewRotation
{
}
internal static class get_LocalUserViewScale
{
}
internal static class set_LocalUserViewScale
{
}
internal static class get_LocalUserViewTransform
{
}
internal static class get_ViewPositionIsExternal
{
}
internal static class set_ViewPositionIsExternal
{
}
internal static class get_LocalUserDesktopFOV
{
}
internal static class set_LocalUserDesktopFOV
{
}
internal static class get_ActiveSkyboxMaterial
{
}
internal static class set_ActiveSkyboxMaterial
{
}
internal static class get_AmbientLight
{
}
internal static class set_AmbientLight
{
}
internal static class get_LocalUserRenderSettings
{
}
internal static class set_LocalUserRenderSettings
{
}
internal static class get_SyncController
{
}
internal static class set_SyncController
{
}
internal static class get_ReferenceController
{
}
internal static class set_ReferenceController
{
}
internal static class get_AssetManager
{
}
internal static class set_AssetManager
{
}
internal static class get_ConnectorManager
{
}
internal static class set_ConnectorManager
{
}
internal static class get_Session
{
}
internal static class set_Session
{
}
internal static class get_UpdateManager
{
}
internal static class set_UpdateManager
{
}
internal static class get_LinkManager
{
}
internal static class set_LinkManager
{
}
internal static class get_Time
{
}
internal static class set_Time
{
}
internal static class get_Input
{
}
internal static class set_Input
{
}
internal static class get_Physics
{
}
internal static class set_Physics
{
}
internal static class get_Culling
{
}
internal static class set_Culling
{
}
internal static class get_Render
{
}
internal static class set_Render
{
}
internal static class get_Coroutines
{
}
internal static class set_Coroutines
{
}
internal static class get_Debug
{
}
internal static class set_Debug
{
}
internal static class get_ProtoFlux
{
}
internal static class set_ProtoFlux
{
}
internal static class get_Permissions
{
}
internal static class set_Permissions
{
}
internal static class get_DynamicBones
{
}
internal static class set_DynamicBones
{
}
internal static class get_ParticleSystems
{
}
internal static class set_ParticleSystems
{
}
internal static class get_SpatialVariables
{
}
internal static class set_SpatialVariables
{
}
internal static class get_Types
{
}
internal static class set_Types
{
}
internal static class get_InputInterface
{
}
internal static class get_Audio
{
}
internal static class set_Audio
{
}
internal static class get_ChangedHierarchyEvents
{
}
internal static class set_ChangedHierarchyEvents
{
}
internal static class get_GeneralMovedHierarchyEvents
{
}
internal static class set_GeneralMovedHierarchyEvents
{
}
internal static class get_PhysicsMovedHierarchyEvents
{
}
internal static class set_PhysicsMovedHierarchyEvents
{
}
internal static class get_ResoniteLink
{
}
internal static class set_ResoniteLink
{
}
internal static class get_Name
{
}
internal static class set_Name
{
}
internal static class get_RawName
{
}
internal static class get_Description
{
}
internal static class set_Description
{
}
internal static class get_Tags
{
}
internal static class set_Tags
{
}
internal static class get_AllTags
{
}
internal static class get_AutomaticTags
{
}
internal static class get_ParentSessionIds
{
}
internal static class set_ParentSessionIds
{
}
internal static class get_SessionId
{
}
internal static class get_NormalizedSessionId
{
}
internal static class get_CorrespondingWorldId
{
}
internal static class set_CorrespondingWorldId
{
}
internal static class get_UniverseId
{
}
internal static class set_UniverseId
{
}
internal static class get_MobileFriendly
{
}
internal static class set_MobileFriendly
{
}
internal static class get_RootSlot
{
}
internal static class set_RootSlot
{
}
internal static class get_LocalSlot
{
}
internal static class set_LocalSlot
{
}
internal static class get_RunFullUpdateCycle
{
}
internal static class get_ShouldRunFullUpdateCycle
{
}
internal static class get_LastUpdateTime
{
}
internal static class set_LastUpdateTime
{
}
internal static class get_MinUpdateTime
{
}
internal static class set_MinUpdateTime
{
}
internal static class get_MaxUpdateTime
{
}
internal static class set_MaxUpdateTime
{
}
internal static class get_StageUpdateTime
{
}
internal static class set_StageUpdateTime
{
}
internal static class get_AudioUpdateTime
{
}
internal static class set_AudioUpdateTime
{
}
internal static class get_MinStageUpdateTime
{
}
internal static class set_MinStageUpdateTime
{
}
internal static class get_MaxStageUpdateTime
{
}
internal static class set_MaxStageUpdateTime
{
}
internal static class get_AvgStageUpdateTime
{
}
internal static class set_AvgStageUpdateTime
{
}
internal static class get_LastCoroutines
{
}
internal static class set_LastCoroutines
{
}
internal static class get_LastCommonUpdates
{
}
internal static class set_LastCommonUpdates
{
}
internal static class get_LastChanges
{
}
internal static class set_LastChanges
{
}
internal static class get_LastConnectorUpdates
{
}
internal static class set_LastConnectorUpdates
{
}
internal static class get_LastMovedSlots
{
}
internal static class set_LastMovedSlots
{
}
internal static class get_LastSynchronousActions
{
}
internal static class set_LastSynchronousActions
{
}
internal static class get_LastColliderUpdates
{
}
internal static class set_LastColliderUpdates
{
}
internal static class get_LastPhysicsActiveBodies
{
}
internal static class set_LastPhysicsActiveBodies
{
}
internal static class get_LastPhysicsStatics
{
}
internal static class set_LastPhysicsStatics
{
}
internal static class get_LastRebuiltNodeGroups
{
}
internal static class set_LastRebuiltNodeGroups
{
}
internal static class get_LastDirtyNodes
{
}
internal static class set_LastDirtyNodes
{
}
internal static class get_LastUpdatedNodeGroups
{
}
internal static class set_LastUpdatedNodeGroups
{
}
internal static class get_LastContinuousChangeNodeGroups
{
}
internal static class set_LastContinuousChangeNodeGroups
{
}
internal static class get_LastChangedNodeGroups
{
}
internal static class set_LastChangedNodeGroups
{
}
internal static class get_LastUpdatedNodes
{
}
internal static class set_LastUpdatedNodes
{
}
internal static class get_LastChangedNodes
{
}
internal static class set_LastChangedNodes
{
}
internal static class get_LastNodeEvents
{
}
internal static class set_LastNodeEvents
{
}
internal static class get_LastUpdatedDriveNodes
{
}
internal static class set_LastUpdatedDriveNodes
{
}
internal static class get_LastAudioStreamUnderruns
{
}
internal static class set_LastAudioStreamUnderruns
{
}
internal static class AudioStreamUnderrun
{
}
internal static class get_LastTotalSlots
{
}
internal static class set_LastTotalSlots
{
}
internal static class get_TotalUpdates
{
}
internal static class set_TotalUpdates
{
}
internal static class get_AverageUpdateTime
{
}
internal static class ColliderUpdated
{
}
internal static class UpdateUpdateTime
{
}
internal static class LocalWorld
{
}
internal static class JoinSession
{
}
internal static class _ctor
{
}
internal static class ObfuscateString
{
}
internal static class DeobfuscateString
{
}
internal static class InitializeRandomization
{
}
internal static class InputInterface_DefaultAudioInputChanged
{
}
internal static class AudioSystem_GlobalVolumesChanged
{
}
internal static class NetworkInitStart
{
}
internal static class WaitForJoinGrant
{
}
internal static class StartDataModelInit
{
}
internal static class InitializeAllocationForLocalUser
{
}
internal static class StartRunning
{
}
internal static class NotifySessionURLsChanged
{
}
internal static class UpdateSessionURLs
{
}
internal static class Cloud_OnUserMuted
{
}
internal static class Cloud_OnUserSpectatorBanned
{
}
internal static class Cloud_OnUserPublicBanned
{
}
internal static class RunBanAction
{
}
internal static class InitializationFailed
{
}
internal static class IncrementStateVersion
{
}
internal static class UpdateStateVersion
{
}
internal static class get_StageDEBUG
{
}
internal static class get_Stage
{
}
internal static class set_Stage
{
}
internal static class Refresh
{
}
internal static class RunAudioUpdates
{
}
internal static class RunSynchronousActions
{
}
internal static class NextRefreshStage
{
}
internal static class HandleAwayKick
{
}
internal static class RefreshStep
{
}
internal static class UpdateLocalUserOutputPositions
{
}
internal static class FinishRefresh
{
}
internal static class FinishSyncCycle
{
}
internal static class IncrementSyncTick
{
}
internal static class get_CanMakeSynchronousChanges
{
}
internal static class get_CanCurrentThreadModify
{
}
internal static class RunSynchronously
{
}
internal static class RunInBackground
{
}
internal static class RunAfterValidations
{
}
internal static class get_Keys
{
}
internal static class KeyOwner
{
}
internal static class KeyVersion
{
}
internal static class IsKeyInUse
{
}
internal static class RequestKey
{
}
internal static class RemoveKey
{
}
internal static class InformOfKeyAssignment
{
}
internal static class InformOfKeyRemoval
{
}
internal static class KeyRemoved
{
}
internal static class KeyAdded
{
}
internal static class KeysBeforeClear
{
}
internal static class get_SlotCount
{
}
internal static class get_AllSlots
{
}
internal static class AddSlot_System_String_System_Boolean
{
}
internal static class AddSlot_FrooxEngine_Slot_System_String_System_Boolean
{
}
internal static class AddLocalSlot_System_String_System_Boolean
{
}
internal static class AddLocalSlot_FrooxEngine_Slot_System_String_System_Boolean
{
}
internal static class RemoveSlot
{
}
internal static class InternalAddLocalSlot
{
}
internal static class InternalAddSlot
{
}
internal static class InternalRemoveLocalSlot
{
}
internal static class InternalRemoveSlot
{
}
internal static class OnSlotAdded
{
}
internal static class OnSlotRemoved
{
}
internal static class ReplaceReferenceTargets_System_Collections_Generic_Dictionary_2_System_Boolean_FrooxEngine_Slot_System_Collections_Generic_HashSet_1
{
}
internal static class ReplaceReferenceTargets_FrooxEngine_IWorldElement_FrooxEngine_IWorldElement_System_Boolean_FrooxEngine_Slot
{
}
internal static class ReplaceInvalidReferenceTargets
{
}
internal static class MoveToTrash
{
}
internal static class TryRetrieveFromTrash
{
}
internal static class IsInTrash
{
}
internal static class DestroyTrash
{
}
internal static class add_SlotAdded
{
}
internal static class remove_SlotAdded
{
}
internal static class add_SlotRemoved
{
}
internal static class remove_SlotRemoved
{
}
internal static class add_ComponentAdded
{
}
internal static class remove_ComponentAdded
{
}
internal static class add_ComponentRemoved
{
}
internal static class remove_ComponentRemoved
{
}
internal static class add_UserJoined
{
}
internal static class remove_UserJoined
{
}
internal static class add_UserSpawn
{
}
internal static class remove_UserSpawn
{
}
internal static class add_UserLeft
{
}
internal static class remove_UserLeft
{
}
internal static class RunSlotAdded
{
}
internal static class RunSlotRemoved
{
}
internal static class RunComponentAdded
{
}
internal static class RunComponentRemoved
{
}
internal static class RunUserJoined
{
}
internal static class RunUserSpawn
{
}
internal static class RunUserLeft
{
}
internal static class RegisterGlobalWorker
{
}
internal static class UnregisterGlobalWorker
{
}
internal static class RequestSpawn
{
}
internal static class RegisterEventReceiver
{
}
internal static class UnregisterEventReceiver
{
}
internal static class SortReceivers
{
}
internal static class RunWorldEvents
{
}
internal static class FrooxEngine_IWorldElement_get_Parent
{
}
internal static class FrooxEngine_IWorldElement_get_World
{
}
internal static class FrooxEngine_IWorldElement_get_IsPersistent
{
}
internal static class FrooxEngine_IWorldElement_get_IsRemoved
{
}
internal static class FrooxEngine_IWorldElement_get_IsLocalElement
{
}
internal static class FrooxEngine_IWorldElement_ChildChanged
{
}
internal static class FrooxEngine_IWorldElement_get_ReferenceID
{
}
internal static class GetSyncMemberName
{
}
internal static class SaveWorld
{
}
internal static class Save
{
}
internal static class Load
{
}
internal static class CollectNonpersistentAssetRefs
{
}
internal static class get_UserCount
{
}
internal static class get_ActiveUserCount
{
}
internal static class get_HostUser
{
}
internal static class GetUser
{
}
internal static class FindUser
{
}
internal static class FindUsers
{
}
internal static class TryGetUser_Elements_Core_RefID
{
}
internal static class GetUserByAllocationID
{
}
internal static class GetUserByMachineId
{
}
internal static class GetUserByUserId
{
}
internal static class TryGetUser_System_Predicate_1
{
}
internal static class GetUsers
{
}
internal static class get_AllUsers
{
}
internal static class GetHost
{
}
internal static class SwapForOthers
{
}
internal static class GetOthers
{
}
internal static class CreateHostUser
{
}
internal static class ProcessExtraIds
{
}
internal static class ProcessExtraId
{
}
internal static class SetLocalUser
{
}
internal static class get_HasFreeUserCapacity
{
}
internal static class get_HasFreeUserSpots
{
}
internal static class CreateGuestUser
{
}
internal static class RemoveUser
{
}
internal static class HostConnectionClosed
{
}
internal static class FindFreeUserAllocationID
{
}
internal static class InternalCreateUser
{
}
internal static class UserAdded
{
}
internal static class UserRemoved
{
}
internal static class DisposeUser
{
}
internal static class VerifyJoinRequest
{
}
internal static class RunInSeconds
{
}
internal static class get_AssetsSlot
{
}
internal static class get_LocalAssetsSlot
{
}
internal static class get_IsDisposed
{
}
internal static class FatalError
{
}
internal static class get_LastUserUpdate
{
}
internal static class set_LastUserUpdate
{
}
internal static class get_LastInviteListUpdate
{
}
internal static class set_LastInviteListUpdate
{
}
internal static class GenerateSessionInfo
{
}
internal static class UpdateSessionInfo
{
}
internal static class EmergencyDump
{
}
internal static class _cctor
{
}
internal static class _set_CorrespondingRecord_b__96_0
{
}
internal static class _StartRunning_b__532_0
{
}
internal static class _StartRunning_b__532_1
{
}
internal static class _UpdateSessionURLs_g__RegisterUrl_534_0
{
}
internal static class _Cloud_OnUserSpectatorBanned_b__536_0
{
}
internal static class _FinishRefresh_b__561_0
{
}
internal static class _FinishRefresh_b__561_1
{
}
internal static class _Load_b__680_0
{
}
internal static class _Dispose_g__DisposeSystem_736_0
{
}
internal static class WorldFocus
{
internal static class _ctor
{
}
}
internal static class WorldState
{
internal static class _ctor
{
}
}
internal static class InitializationState
{
internal static class _ctor
{
}
}
internal static class FailReason
{
internal static class _ctor
{
}
}
internal static class WorldEvent
{
internal static class _ctor
{
}
}
internal static class SynchronousAction
{
internal static class _ctor
{
}
internal static class _ctor_System_Action_FrooxEngine_IUpdatable_System_Boolean
{
}
}
internal static class RefreshStage
{
internal static class _ctor
{
}
}
internal static class __FinishRefresh_b__561_1_d
{
internal static class _ctor
{
}
internal static class MoveNext
{
}
internal static class SetStateMachine
{
}
}
internal static class __c
{
internal static class _cctor
{
}
internal static class _ctor
{
}
internal static class _LocalWorld_b__519_0
{
}
internal static class _Cloud_OnUserMuted_b__535_0
{
}
internal static class _Cloud_OnUserPublicBanned_b__537_0
{
}
internal static class _get_AllSlots_b__588_0
{
}
internal static class _SortReceivers_b__662_0
{
}
internal static class _get_ActiveUserCount_b__688_0
{
}
internal static class _get_ActiveUserCount_b__688_1
{
}
internal static class _FindUsers_b__694_1
{
}
internal static class _GetHost_b__703_0
{
}
internal static class _UpdateSessionInfo_b__748_0
{
}
internal static class _UpdateSessionInfo_b__748_1
{
}
}
internal static class __c__DisplayClass178_0
{
internal static class _ctor
{
}
internal static class _set_MaxUsers_b__0
{
}
}
internal static class __c__DisplayClass32_0
{
internal static class _ctor
{
}
internal static class _set_AccessLevel_b__0
{
}
}
internal static class __c__DisplayClass341_0
{
internal static class _ctor
{
}
internal static class _set_Name_b__0
{
}
}
internal static class __c__DisplayClass346_0
{
internal static class _ctor
{
}
internal static class _set_Description_b__0
{
}
}
internal static class __c__DisplayClass349_0
{
internal static class _ctor
{
}
internal static class _set_Tags_b__0
{
}
}
internal static class __c__DisplayClass349_1
{
internal static class _ctor
{
}
internal static class _set_Tags_b__1
{
}
}
internal static class __c__DisplayClass356_0
{
internal static class _ctor
{
}
internal static class _set_ParentSessionIds_b__0
{
}
}
internal static class __c__DisplayClass35_0
{
internal static class _ctor
{
}
internal static class _set_HideFromListing_b__0
{
}
}
internal static class __c__DisplayClass363_0
{
internal static class _ctor
{
}
internal static class _set_CorrespondingWorldId_b__0
{
}
}
internal static class __c__DisplayClass366_0
{
internal static class _ctor
{
}
internal static class _set_UniverseId_b__0
{
}
}
internal static class __c__DisplayClass369_0
{
internal static class _ctor
{
}
internal static class _set_MobileFriendly_b__0
{
}
}
internal static class __c__DisplayClass38_0
{
internal static class _ctor
{
}
internal static class _set_UseCustomJoinVerifier_b__0
{
}
}
internal static class __c__DisplayClass43_0
{
internal static class _ctor
{
}
internal static class _set_AwayKickEnabled_b__0
{
}
}
internal static class __c__DisplayClass46_0
{
internal static class _ctor
{
}
internal static class _set_AwayKickMinutes_b__0
{
}
}
internal static class __c__DisplayClass534_0
{
internal static class _ctor
{
}
}
internal static class __c__DisplayClass538_0
{
internal static class _ctor
{
}
internal static class _RunBanAction_b__0
{
}
}
internal static class __c__DisplayClass581_0
{
internal static class _ctor
{
}
internal static class _KeyAdded_b__0
{
}
}
internal static class __c__DisplayClass602_0
{
internal static class _ctor
{
}
internal static class _ReplaceReferenceTargets_b__0
{
}
}
internal static class __c__DisplayClass603_0
{
internal static class _ctor
{
}
internal static class _ReplaceReferenceTargets_b__0
{
}
}
internal static class __c__DisplayClass604_0
{
internal static class _ctor
{
}
internal static class _ReplaceInvalidReferenceTargets_b__0
{
}
}
internal static class __c__DisplayClass67_0
{
internal static class _ctor
{
}
internal static class _GetInviteHandlerUsers_b__0
{
}
}
internal static class __c__DisplayClass693_0
{
internal static class _ctor
{
}
internal static class _FindUser_b__0
{
}
}
internal static class __c__DisplayClass694_0
{
internal static class _ctor
{
}
internal static class _FindUsers_b__0
{
}
}
internal static class __c__DisplayClass696_0
{
internal static class _ctor
{
}
internal static class _GetUserByAllocationID_b__0
{
}
}
internal static class __c__DisplayClass697_0
{
internal static class _ctor
{
}
internal static class _GetUserByMachineId_b__0
{
}
}
internal static class __c__DisplayClass698_0
{
internal static class _ctor
{
}
internal static class _GetUserByUserId_b__0
{
}
}
internal static class __c__DisplayClass699_0
{
internal static class _ctor
{
}
internal static class _TryGetUser_b__0
{
}
}
internal static class __c__DisplayClass706_0
{
internal static class _ctor
{
}
internal static class _CreateHostUser_b__0
{
}
}
internal static class __c__DisplayClass717_0
{
internal static class _ctor
{
}
internal static class _FindFreeUserAllocationID_b__0
{
}
}
internal static class _VerifyJoinRequest_d__722
{
internal static class _ctor
{
}
internal static class MoveNext
{
}
internal static class SetStateMachine
{
}
}
internal static class _get_AllTags_d__351
{
internal static class _ctor
{
}
internal static class System_IDisposable_Dispose
{
}
internal static class MoveNext
{
}
internal static class __m__Finally1
{
}
internal static class __m__Finally2
{
}
internal static class System_Collections_Generic_IEnumerator_System_String__get_Current
{
}
internal static class System_Collections_IEnumerator_Reset
{
}
internal static class System_Collections_IEnumerator_get_Current
{
}
internal static class System_Collections_Generic_IEnumerable_System_String__GetEnumerator
{
}
internal static class System_Collections_IEnumerable_GetEnumerator
{
}
}
internal static class _get_AutomaticTags_d__353
{
internal static class _ctor
{
}
internal static class System_IDisposable_Dispose
{
}
internal static class MoveNext
{
}
internal static class __m__Finally1
{
}
internal static class __m__Finally2
{
}
internal static class System_Collections_Generic_IEnumerator_System_String__get_Current
{
}
internal static class System_Collections_IEnumerator_Reset
{
}
internal static class System_Collections_IEnumerator_get_Current
{
}
internal static class System_Collections_Generic_IEnumerable_System_String__GetEnumerator
{
}
internal static class System_Collections_IEnumerable_GetEnumerator
{
}
}
}
namespace Md.FrooxEngine.NewWorldDialog
{
internal static class BuildUI
{
public delegate void PrefixSignature(NewWorldDialog self, ref Action<NewWorldDialog> customStart, ref Action<UIBuilder> customPresetUI);
public delegate void PostfixSignature(NewWorldDialog self, ref Action<NewWorldDialog> customStart, ref Action<UIBuilder> customPresetUI);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(NewWorldDialog).GetMethod("BuildUI", (BindingFlags)(-1), (Binder)null, new System.Type[2]
{
typeof(Action<NewWorldDialog>),
typeof(Action<UIBuilder>)
}, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.NewWorldDialog", "BuildUI"));
}
}
internal static class OnCommonUpdate
{
public delegate void PrefixSignature(NewWorldDialog self);
public delegate void PostfixSignature(NewWorldDialog self);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(NewWorldDialog).GetMethod("OnCommonUpdate", (BindingFlags)(-1), (Binder)null, System.Array.Empty<System.Type>(), (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.NewWorldDialog", "OnCommonUpdate"));
}
}
internal static class OnStartSession
{
public delegate void PrefixSignature(NewWorldDialog self, ref IButton button, ref ButtonEventData eventData);
public delegate void PostfixSignature(NewWorldDialog self, ref IButton button, ref ButtonEventData eventData);
public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (System.Delegate)hook, config, applyByDefault);
}
public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null)
{
return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault);
}
public static MethodBase Target()
{
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
return (MethodBase)(object)(typeof(NewWorldDialog).GetMethod("OnStartSession", (BindingFlags)(-1), (Binder)null, new System.Type[2]
{
typeof(IButton),
typeof(ButtonEventData)
}, (ParameterModifier[])null) ?? throw new MissingMethodException("FrooxEngine.NewWorldDialog", "OnStartSession"));
}
}
internal static class OpenDialogWindow
{
}
internal static class get_WorldName
{
}
internal static class set_WorldName
{
}
internal static class get_MobileFriendly
{
}
internal static class set_MobileFriendly
{
}
internal static class get_AutoPort
{
}
internal static class set_AutoPort
{
}
internal static class get_PortSelectionEnabled
{
}
internal static class get_Port
{
}
internal static class set_Port
{
}
internal static class get_AccessLevel
{
}
internal static class set_AccessLevel
{
}
internal static class get_UnsafeMode
{
}
internal static class set_UnsafeMode
{
}
internal static class BuildUI_Async
{
}
internal static class OnStart
{
}
internal static class Close
{
}
internal static class _ctor
{
}
internal static class InitializeSyncMembers
{
}
internal static class GetSyncMember
{
}
internal static class __New
{
}
internal static class __c__DisplayClass33_0
{
internal static class _ctor
{
}
internal static class _BuildUI_b__0
{
}
internal static class __BuildUI_b__0_d
{
internal static class _ctor
{
}
internal static class MoveNext
{
}
internal static class SetStateMachine
{
}
}
}
internal static class __c__DisplayClass34_0
{
internal static class _ctor
{
}
internal static class _BuildUI_Async_b__0
{
}
internal static class _BuildUI_Async_b__1
{
}
}
internal static class _BuildUI_Async_d__34
{
internal static class _ctor
{
}
internal static class MoveNext
{
}
internal static class SetStateMachine
{
}
}
}
namespace MonoDetour.HookGen
{
internal static class DefaultMonoDetourManager
{
[field: CompilerGenerated]
internal static MonoDetourManager Instance
{
[CompilerGenerated]
get;
} = New();
internal static MonoDetourManager New()
{
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Expected O, but got Unknown
return new MonoDetourManager(typeof(DefaultMonoDetourManager).Assembly.GetName().Name);
}
}
[AttributeUsage(/*Could not decode attribute arguments.*/)]
internal class MonoDetourTargetsAttribute(System.Type? targetType = null) : System.Attribute(), IMonoDetourTargets
{
[field: CompilerGenerated]
public System.Type? TargetType
{
[CompilerGenerated]
get;
} = targetType;
[field: CompilerGenerated]
public bool IncludeNestedTypes
{
[CompilerGenerated]
get;
[CompilerGenerated]
set;
} = true;
[field: CompilerGenerated]
public string[]? Members
{
[CompilerGenerated]
get;
[CompilerGenerated]
set;
}
[field: CompilerGenerated]
public string[]? MemberNamePrefixes
{
[CompilerGenerated]
get;
[CompilerGenerated]
set;
}
[field: CompilerGenerated]
public string[]? MemberNameSuffixes
{
[CompilerGenerated]
get;
[CompilerGenerated]
set;
}
[field: CompilerGenerated]
public bool GenerateControlFlowVariants
{
[CompilerGenerated]
get;
[CompilerGenerated]
set;
}
}
}
namespace BepInEx
{
[AttributeUsage(/*Could not decode attribute arguments.*/)]
[Conditional("CodeGeneration")]
[Embedded]
internal sealed class BepInAutoPluginAttribute : System.Attribute
{
public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null, string? authors = null, string? link = null)
{
}
}
}
namespace BepInEx.Preloader.Core.Patching
{
[AttributeUsage(/*Could not decode attribute arguments.*/)]
[Conditional("CodeGeneration")]
[Embedded]
internal sealed class PatcherAutoPluginAttribute : System.Attribute
{
public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
{
}
}
}
namespace Microsoft.CodeAnalysis
{
[Embedded]
internal sealed class EmbeddedAttribute : System.Attribute
{
}
}
namespace ResoniteLinkPlus
{
[MonoDetourTargets(typeof(NewWorldDialog))]
internal static class NewWorldDialogPatches
{
[MonoDetourHookInitialize]
private static void Init()
{
BuildUI.Postfix(Postfix_BuildUI);
OnCommonUpdate.Postfix(Postfix_OnCommonUpdate);
OnStartSession.Prefix(Prefix_OnStartSession);
}
private static void Postfix_BuildUI(NewWorldDialog self, ref Action<NewWorldDialog> customStart, ref Action<UIBuilder> customPresetUI)
{
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
if (!Plugin.Enabled.Value)
{
return;
}
((ComponentBase<Component>)(object)self).RunInUpdates(3, (Action)delegate
{
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Expected O, but got Unknown
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: 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_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: 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_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
//IL_010e: Unknown result type (might be due to invalid IL or missing references)
//IL_0117: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
//IL_012d: Unknown result type (might be due to invalid IL or missing references)
//IL_0138: Unknown result type (might be due to invalid IL or missing references)
//IL_013e: Unknown result type (might be due to invalid IL or missing references)
if (WorldElementExtensions.FilterWorldElement<Slot>(((Component)self).Slot) != null)
{
UIBuilder val = new UIBuilder(((Component)self).Slot, (Slot)null);
RadiantUI_Constants.SetupDefaultStyle(val, false);
val.VerticalLayout(4f, 0f, (Alignment?)null, (bool?)null, (bool?)null);
val.FitContent((SizeFit)0, (SizeFit)2);
val.Style.MinHeight = 32f;
val.Style.PreferredHeight = 32f;
val.NestInto(((Component)self).Slot[2][1][0]);
LocaleString val2 = LocaleHelper.AsLocaleKey("World.Config.ResoniteLinkHeader", (string)null, true, (Dictionary<string, object>)null);
Checkbox autoStart = val.Checkbox(ref val2, Plugin.LinkAutoEnabledNewWorld.Value, true, 4f);
val.HorizontalLayout(4f, 0f, (Alignment?)null);
val2 = LocaleHelper.AsLocaleKey("NewWorld.Port", (string)null, true, (Dictionary<string, object>)null);
val.Text(ref val2, true, (Alignment?)null, true, (string)null);
val2 = LocaleHelper.AsLocaleKey("NewWorld.AutoPort", (string)null, true, (Dictionary<string, object>)null);
Checkbox autoPort = val.Checkbox(ref val2, true, true, 4f);
TextField val3 = val.TextField("", false, (string)null, true, default(LocaleString));
val3.TargetString = LinkPlus.GetAvailablePort(Plugin.LinkStartingPort.Value).ToString();
val.NestOut();
LinkPlus.Dialogs.GetOrCreateValue(self).AutoStart = autoStart;
LinkPlus.Dialogs.GetOrCreateValue(self).AutoPort = autoPort;
LinkPlus.Dialogs.GetOrCreateValue(self).PortField = val3;
Plugin.Log.LogDebug((object)"NewWorldDialog: Added ResoniteLinkPlus UI controls");
}
});
}
private static void Postfix_OnCommonUpdate(NewWorldDialog self)
{
LinkPlus.DialogControls dialogControls = default(LinkPlus.DialogControls);
if (Plugin.Enabled.Value && LinkPlus.Dialogs.TryGetValue(self, ref dialogControls) && dialogControls.AutoPort != null && dialogControls.PortField != null)
{
Button component = ((ContainerWorker<Component>)(object)((Component)dialogControls.PortField).Slot).GetComponent<Button>((Predicate<Button>)null, false);
if (component != null)
{
((ComponentBase<Component>)(object)component).Enabled = !dialogControls.AutoPort.IsChecked;
}
}
}
private static void Prefix_OnStartSession(NewWorldDialog self, ref IButton button, ref ButtonEventData eventData)
{
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
if (!Plugin.Enabled.Value)
{
return;
}
LinkPlus.DialogControls dialogControls = default(LinkPlus.DialogControls);
if (!LinkPlus.Dialogs.TryGetValue(self, ref dialogControls) || dialogControls.AutoStart == null || !dialogControls.AutoStart.IsChecked)
{
Plugin.Log.LogDebug((object)"NewWorldDialog: ResoniteLink auto-start disabled, skipping");
return;
}
if (dialogControls.AutoPort == null || dialogControls.PortField == null)
{
Plugin.Log.LogWarning((object)"NewWorldDialog: Port controls not found, cannot auto-start ResoniteLink");
return;
}
int? num = null;
if (!dialogControls.AutoPort.IsChecked)
{
int num2 = default(int);
if (int.TryParse(dialogControls.PortField.TargetString, ref num2))
{
num = num2;
}
else
{
Plugin.Log.LogWarning((object)"NewWorldDialog: Invalid port specified, using auto-assignment");
}
}
LinkPlus.AutoStartInfo = new ValueTuple<bool, int?>(true, num);
}
}
[MonoDetourTargets(typeof(ResoniteLinkHost))]
internal static class ResoniteLinkHostStartPatch
{
[MonoDetourHookInitialize]
private static void Init()
{
Start.Prefix(Prefix_Start);
Start.Postfix(Postfix_Start);
}
private static void Prefix_Start(ResoniteLinkHost self, ref int? port)
{
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_0046: Expected O, but got Unknown
if (Plugin.Enabled.Value && !port.HasValue)
{
int availablePort = LinkPlus.GetAvailablePort(Plugin.LinkStartingPort.Value);
port = availablePort;
ManualLogSource log = Plugin.Log;
bool flag = default(bool);
BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(43, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(self.World.Name);
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("': No port specified, assigned port ");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<int>(availablePort);
}
log.LogInfo(val);
}
}
private static void Postfix_Start(ResoniteLinkHost self, ref int? port, ref bool returnValue)
{
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Expected O, but got Unknown
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Expected O, but got Unknown
bool flag = default(bool);
if (returnValue)
{
if (self != null)
{
_ = self.Port;
ManualLogSource log = Plugin.Log;
BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(35, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(self.World.Name);
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("': ResoniteLink port set to ");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<int>(self.Port);
}
log.LogInfo(val);
}
}
else
{
ManualLogSource log2 = Plugin.Log;
BepInExWarningLogInterpolatedStringHandler val2 = new BepInExWarningLogInterpolatedStringHandler(45, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<string>(self.World.Name);
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("': Failed to set ResoniteLink port to ");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<int?>(port);
}
log2.LogWarning(val2);
}
}
}
[MonoDetourTargets(typeof(World))]
internal static class WorldPatches
{
[MonoDetourHookInitialize]
private static void Init()
{
StartSession.Postfix(Postfix_StartSession);
Destroy.Prefix(Prefix_Destroy);
}
private static void Postfix_StartSession(ref WorldManager manager, ref WorldAction init, ref Dictionary<string, ushort> ports, ref string forceSessionId, ref DataTreeNode load, ref Record record, ref bool unsafeMode, ref System.Collections.Generic.IEnumerable<AssemblyTypeRegistry> assemblies, ref World returnValue)
{
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Expected O, but got Unknown
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
if (!Plugin.Enabled.Value || returnValue == null)
{
return;
}
ValueTuple<bool, int?> autoStartInfo = LinkPlus.AutoStartInfo;
bool item = autoStartInfo.Item1;
int? requestedPort = autoStartInfo.Item2;
LinkPlus.AutoStartInfo = new ValueTuple<bool, int?>(false, (int?)null);
if (!item)
{
return;
}
World world = returnValue;
world.RunInUpdates(3, (Action)delegate
{
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Expected O, but got Unknown
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Expected O, but got Unknown
if (world.IsDestroyed)
{
return;
}
bool flag = default(bool);
try
{
world.StartResoniteLink(requestedPort);
ResoniteLinkHost resoniteLink = world.ResoniteLink;
int? num = ((resoniteLink != null) ? new int?(resoniteLink.Port) : ((int?)null));
ManualLogSource log = Plugin.Log;
BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(39, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(world.Name);
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("': Started ResoniteLink on port ");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(num?.ToString() ?? "auto");
}
log.LogInfo(val);
}
catch (System.Exception ex)
{
ManualLogSource log2 = Plugin.Log;
BepInExErrorLogInterpolatedStringHandler val2 = new BepInExErrorLogInterpolatedStringHandler(41, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<string>(world.Name);
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("': Failed to start ResoniteLink - ");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<System.Exception>(ex);
}
log2.LogError(val2);
}
});
}
private static void Prefix_Destroy(World self)
{
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0076: Expected O, but got Unknown
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Expected O, but got Unknown
if (!Plugin.Enabled.Value || self == null)
{
return;
}
bool flag = default(bool);
if (self.ResoniteLink == null)
{
ManualLogSource log = Plugin.Log;
BepInExErrorLogInterpolatedStringHandler val = new BepInExErrorLogInterpolatedStringHandler(41, 1, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(self.Name);
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("': ResoniteLink property not found");
}
log.LogError(val);
return;
}
ResoniteLinkHost resoniteLink = self.ResoniteLink;
int port = resoniteLink.Port;
resoniteLink.Dispose();
ManualLogSource log2 = Plugin.Log;
BepInExInfoLogInterpolatedStringHandler val2 = new BepInExInfoLogInterpolatedStringHandler(39, 2, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("World '");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<string>(self.Name);
((BepInExLogInterpolatedStringHandler)val2).AppendLiteral("': Stopped ResoniteLink on port ");
((BepInExLogInterpolatedStringHandler)val2).AppendFormatted<int>(port);
}
log2.LogInfo(val2);
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[ResonitePlugin("dev.hazre.resonitelinkplus", "ResoniteLinkPlus", "1.0.1+b0cbfaa562d125a46ae02d843ee6a339dbdb59ca", "hazre", "https://github.com/hazre/ResoniteLinkPlus")]
public class Plugin : BasePlugin
{
internal static ManualLogSource Log;
internal static ConfigEntry<bool> Enabled;
internal static ConfigEntry<int> LinkStartingPort;
internal static ConfigEntry<bool> LinkAutoEnabledNewWorld;
public const string GUID = "dev.hazre.resonitelinkplus";
public const string NAME = "ResoniteLinkPlus";
public const string VERSION = "1.0.1+b0cbfaa562d125a46ae02d843ee6a339dbdb59ca";
public const string AUTHORS = "hazre";
public const string REPOSITORY_URL = "https://github.com/hazre/ResoniteLinkPlus";
public override void Load()
{
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Expected O, but got Unknown
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Expected O, but got Unknown
Log = ((BasePlugin)this).Log;
Enabled = ConfigLocaleHelper.BindLocalized<bool>(((BasePlugin)this).Config, "dev.hazre.resonitelinkplus", "General", "Enabled", true, "Enables the ResoniteLinkPlus functionality, requires a restart to take effect");
LinkStartingPort = ConfigLocaleHelper.BindLocalized<int>(((BasePlugin)this).Config, "dev.hazre.resonitelinkplus", "General", "LinkStartingPort", 2000, new ConfigDescription("Resonite Link port starts from this number and increments for each session", (AcceptableValueBase)(object)new AcceptableValueRange<int>(2000, 65535), System.Array.Empty<object>()));
LinkAutoEnabledNewWorld = ConfigLocaleHelper.BindLocalized<bool>(((BasePlugin)this).Config, "dev.hazre.resonitelinkplus", "General", "LinkAutoEnabledNewWorld", false, "Automatically enables ResoniteLink when creating a new world, Not recommended for public worlds");
MonoDetourManager.InvokeHookInitializers(typeof(Plugin).Assembly);
ManualLogSource log = Log;
bool flag = default(bool);
BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(14, 1, ref flag);
if (flag)
{
((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Plugin ");
((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("dev.hazre.resonitelinkplus");
((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" loaded");
}
log.LogInfo(val);
}
}
internal static class LinkPlus
{
public class DialogControls
{
public Checkbox? AutoStart;
public Checkbox? AutoPort;
public TextField? PortField;
}
public static readonly ConditionalWeakTable<NewWorldDialog, DialogControls> Dialogs = new ConditionalWeakTable<NewWorldDialog, DialogControls>();
public static ValueTuple<bool, int?> AutoStartInfo = new ValueTuple<bool, int?>(false, (int?)null);
public static int GetAvailablePort(int startingPort, int maxAttempts = 1000)
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Expected O, but got Unknown
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Expected O, but got Unknown
for (int i = startingPort; i < startingPort + maxAttempts; i++)
{
try
{
Socket val = new Socket((AddressFamily)2, (SocketType)1, (ProtocolType)6);
try
{
val.Bind((EndPoint)new IPEndPoint(IPAddress.Any, i));
return i;
}
finally
{
((System.IDisposable)val)?.Dispose();
}
}
catch (SocketException)
{
}
}
throw new System.Exception($"No available port found in range {startingPort}-{startingPort + maxAttempts - 1}");
}
}
}
namespace System.Runtime.CompilerServices
{
[AttributeUsage(/*Could not decode attribute arguments.*/)]
internal sealed class IgnoresAccessChecksToAttribute : System.Attribute
{
internal IgnoresAccessChecksToAttribute(string assemblyName)
{
}
}
}