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;
}
}
}