CarmenSandiego/Assets/UdonSharp/ArrivalDisplay.cs
Jamie Greunbaum 5f9b1bad15 - Modem and destination sign now correctly sync for all players.
- Case Manager now ensures proper ownership for whoever loads the case file.
2025-08-18 21:30:16 -04:00

52 lines
929 B
C#

using TMPro;
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class ArrivalDisplay : UdonSharpBehaviour
{
[SerializeField] private GameObject _Sign;
[SerializeField] private TextMeshProUGUI _Display;
[UdonSynced, FieldChangeCallback(nameof(ActivateSign))] private bool _ActivateSign;
[UdonSynced, FieldChangeCallback(nameof(DisplayText))] private string _DisplayText;
public void Activate(bool Active)
{
ActivateSign = Active;
RequestSerialization();
}
public void SetDisplayText(string Text)
{
DisplayText = Text;
RequestSerialization();
}
private bool ActivateSign
{
set
{
_ActivateSign = value;
_Sign.SetActive(_ActivateSign);
}
get => _ActivateSign;
}
private string DisplayText
{
set
{
_DisplayText = value;
_Display.text = _DisplayText;
}
get => _DisplayText;
}
}