33 lines
753 B
C#
33 lines
753 B
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDK3.UdonNetworkCalling;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
using VRC.Udon.Common.Interfaces;
|
|
|
|
public class TeamMachineSwitch : UdonSharpBehaviour
|
|
{
|
|
[SerializeField] private Animator switchAnimator;
|
|
[SerializeField] private AudioSource switchAudioSource;
|
|
|
|
private bool isActive = false;
|
|
|
|
public override void Interact()
|
|
{
|
|
if (!Networking.IsOwner(gameObject)) return;
|
|
|
|
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateSwitch));
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void ActivateSwitch()
|
|
{
|
|
isActive = !isActive;
|
|
switchAnimator.SetBool("isActive", isActive);
|
|
switchAudioSource.Play();
|
|
|
|
RequestSerialization();
|
|
}
|
|
}
|