- Jail player now disappears when round 2 is initialised or deinitialised. - Phone box cover now syncs when closed automatically.
44 lines
924 B
C#
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];
|
|
}
|
|
}
|
|
}
|