- Fixed jail chain potentially calling a GameManager function on all clients.
52 lines
890 B
C#
52 lines
890 B
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDK3.Components;
|
|
using VRC.Udon.Common;
|
|
|
|
|
|
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
|
|
public class Umbrella : UdonSharpBehaviour
|
|
{
|
|
[SerializeField] private Animator _Animator;
|
|
[SerializeField] private VRCObjectSync _ObjectSync;
|
|
|
|
[UdonSynced] private bool _Open = false;
|
|
|
|
|
|
public override void OnDeserialization(DeserializationResult Result)
|
|
{
|
|
_Open_Synced();
|
|
|
|
base.OnDeserialization(Result);
|
|
}
|
|
|
|
|
|
public void UmbrellaUsed()
|
|
{
|
|
_Open = !_Open;
|
|
_Open_Synced();
|
|
RequestSerialization();
|
|
}
|
|
|
|
|
|
public void Respawn()
|
|
{
|
|
Open(false);
|
|
_ObjectSync.transform.localPosition = Vector3.zero;
|
|
_ObjectSync.transform.localRotation = Quaternion.identity;
|
|
}
|
|
|
|
public void Open(bool Open)
|
|
{
|
|
_Open = Open;
|
|
_Open_Synced();
|
|
RequestSerialization();
|
|
}
|
|
|
|
private void _Open_Synced()
|
|
{
|
|
_Animator.SetBool("Open", _Open);
|
|
}
|
|
}
|