using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Unity.Netcode;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("FixRPCLag")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Fixes NetworkManager RPC lag")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("FixRPCLag")]
[assembly: AssemblyTitle("FixRPCLag")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.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]
[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 FixRPCLag
{
[BepInPlugin("dev.bobbie.fixrpclag", "FixRPCLag", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public static ConfigEntry<LogLevel> ConfigLogLevel;
private void Awake()
{
((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin dev.bobbie.fixrpclag is loaded!");
ConfigLogLevel = ((BaseUnityPlugin)this).Config.Bind<LogLevel>("General", "LogLevel", (LogLevel)1, "The network manager's LogLevel. If you want absolutely no debug messages related to networking, set it to \"Nothing\". If you want all debug messages related to networking (not recommended), set it to \"Developer\"");
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null);
}
}
}
namespace FixRPCLag.Patches
{
[HarmonyPatch(typeof(NetworkManager))]
internal class NetworkManagerPatches
{
[HarmonyPatch("Awake")]
[HarmonyPostfix]
private static void Patch(NetworkManager __instance)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
__instance.LogLevel = Plugin.ConfigLogLevel.Value;
}
}
}