Jamie Greunbaum e7fa38058c - Jail call overlay no longer modifies the global material.
- Jail player now disappears when round 2 is initialised or deinitialised.
- Phone box cover now syncs when closed automatically.
2026-05-16 01:19:10 -04:00

44 lines
924 B
C#

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
using VRC.Udon.Common;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class JailCallOverlay : CameraOverlay
{
[Space]
[SerializeField] private MeshRenderer _OverlayMesh;
[SerializeField] private int _CrookMaterialSlot;
[Space]
[SerializeField] private Texture[] _CrookPortraits;
[UdonSynced] private AccusedCrook _AccusedCrook = AccusedCrook.INDEX_MAX;
public override void OnDeserialization(DeserializationResult Result)
{
_SetCrook_Synced();
base.OnDeserialization(Result);
}
public void SetCrook(AccusedCrook Crook)
{
_AccusedCrook = Crook;
_SetCrook_Synced();
RequestSerialization();
}
private void _SetCrook_Synced()
{
int Crook = (int)_AccusedCrook;
if (Crook >= 0 && Crook < _CrookPortraits.Length)
{
_OverlayMesh.materials[_CrookMaterialSlot].mainTexture = _CrookPortraits[Crook];
}
}
}