Decompiled source of Dice Color Sync v1.0.1

DiceColorSyncPlugin.dll

Decompiled a month ago
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("DiceColorSyncPlugin")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HolloFox")]
[assembly: AssemblyProduct("DiceColorSyncPlugin")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4e4deb5e-97f9-4901-bf67-6748a9c1229a")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DiceColorSyncPlugin.Properties
{
	[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
	[DebuggerNonUserCode]
	[CompilerGenerated]
	internal class Resources
	{
		private static ResourceManager resourceMan;

		private static CultureInfo resourceCulture;

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static ResourceManager ResourceManager
		{
			get
			{
				if (resourceMan == null)
				{
					resourceMan = new ResourceManager("DiceColorSyncPlugin.Properties.Resources", typeof(Resources).Assembly);
				}
				return resourceMan;
			}
		}

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static CultureInfo Culture
		{
			get
			{
				return resourceCulture;
			}
			set
			{
				resourceCulture = value;
			}
		}

		internal Resources()
		{
		}
	}
}
namespace DiceCallbackPlugin
{
	[BepInPlugin("org.hollofox.plugins.DiceColorSyncPlugin", "HolloFoxes' Dice Color Sync Plug-In", "1.0.0.0")]
	public class DiceCallbackPlugin : BaseUnityPlugin
	{
		public const string Guid = "org.hollofox.plugins.DiceColorSyncPlugin";

		private const string Version = "1.0.0.0";

		private void Awake()
		{
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			Debug.Log((object)"DiceColorSync Plug-in loaded");
			new Harmony("org.hollofox.plugins.DiceColorSyncPlugin").PatchAll();
		}
	}
}
namespace DiceCallbackPlugin.Patches
{
	[HarmonyPatch(typeof(Die), "OnPhotonInstantiate")]
	public class DicePatch
	{
		private static void Postfix(PhotonMessageInfo info, ref Renderer ___dieRenderer)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			ClientGuid val = default(ClientGuid);
			Color val2 = default(Color);
			if (BoardSessionManager.PhotonIdToClientGuid.TryGetValue(info.sender.ID, ref val) && TempClientColorManager.TryGetColor(val, ref val2))
			{
				___dieRenderer.material.SetColor("_Color", val2);
			}
		}
	}
	[HarmonyPatch(typeof(Die), "Init")]
	public class DicePatch2
	{
		private static void Postfix(ClientGuid clientId, ref Renderer ___dieRenderer)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			Color val = default(Color);
			if (TempClientColorManager.TryGetColor(clientId, ref val))
			{
				___dieRenderer.material.SetColor("_Color", val);
			}
		}
	}
	[HarmonyPatch(typeof(Die), "SetMaterial")]
	public class SetMaterialPatch
	{
		private static bool Prefix(ref Renderer ___dieRenderer, ref bool gmDie, Material ___normalMaterial, Material ___gmMaterial)
		{
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			if (gmDie)
			{
				if (!((Object)(object)___dieRenderer.sharedMaterial != (Object)(object)___gmMaterial))
				{
					return false;
				}
				Color color = ___dieRenderer.material.GetColor("_Color");
				___dieRenderer.sharedMaterial = ___gmMaterial;
				___dieRenderer.material.SetColor("_Color", color);
			}
			else
			{
				if (!((Object)(object)___dieRenderer.sharedMaterial != (Object)(object)___normalMaterial))
				{
					return false;
				}
				Color color2 = ___dieRenderer.material.GetColor("_Color");
				___dieRenderer.sharedMaterial = ___normalMaterial;
				___dieRenderer.material.SetColor("_Color", color2);
			}
			return false;
		}
	}
}