Decompiled source of PartyUp v1.1.0

PartyUp.dll

Decompiled 8 hours ago
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Mirror;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("IncreasedPartyLimit")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("IncreasedPartyLimit")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4e12bfed-6188-4ebe-bbfd-c93103ea32ab")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[BepInPlugin("com.jswee.partyup", "PartyUp Mod", "1.0.5")]
public class PartyUp : BaseUnityPlugin
{
	public static ManualLogSource Log;

	private void Awake()
	{
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		Log = ((BaseUnityPlugin)this).Logger;
		new Harmony("com.jswee.partyup").PatchAll();
	}
}
[HarmonyPatch(typeof(PartyObjectBehavior), "SerializeSyncVars")]
public static class Patch_PartyObjectBehavior
{
	[HarmonyPrefix]
	public static void SetMaxPartyLimit(PartyObjectBehavior __instance)
	{
		__instance.Network_maxPartyLimit = 100;
	}
}
[HarmonyPatch(typeof(ProfileDataManager), "Load_HostSettingsData")]
internal static class ProfileDataManager_Load_HostSettingsData
{
	private static readonly FieldRef<ProfileDataManager, string> _hostSettingsDataPathRef = AccessTools.FieldRefAccess<ProfileDataManager, string>("_hostSettingsDataPath");

	private static void Postfix(ProfileDataManager __instance)
	{
		string path = Path.Combine(_hostSettingsDataPathRef.Invoke(__instance), "hostSettings.json");
		if (File.Exists(path))
		{
			ServerHostSettings_Profile val = JsonUtility.FromJson<ServerHostSettings_Profile>(File.ReadAllText(path));
			val._maxAllowedConnections = Mathf.Clamp(val._maxAllowedConnections, 2, 100);
			__instance._hostSettingsProfile = val;
			MainMenuManager current = MainMenuManager._current;
			if (current != null)
			{
				current.Load_HostSettings();
			}
			if ((Object)(object)AtlyssNetworkManager._current != (Object)null)
			{
				((NetworkManager)AtlyssNetworkManager._current).maxConnections = val._maxAllowedConnections;
				return;
			}
			Debug.LogWarning((object)"AtlyssNetworkManager._current was null when setting maxConnections.");
			PartyUp.Log.LogWarning((object)"AtlyssNetworkManager._current was null when setting maxConnections.");
		}
	}
}
[HarmonyPatch(typeof(LobbyListManager), "Awake")]
internal static class LobbyListManager_Awake
{
	private static void Postfix(LobbyListManager __instance)
	{
		__instance._lobbyMaxConnectionSlider.maxValue = 100f;
	}
}