49 lines
1.1 KiB
C#

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraTimerSwitchTrigger : UdonSharpBehaviour
{
[SerializeField] private CameraControllerBase _CameraController;
[SerializeField] private string _EnterSwitchFunction = "";
[SerializeField] private string _ExitSwitchFunction = "";
public override void OnPlayerTriggerEnter(VRCPlayerApi Player)
{
if (Networking.GetOwner(_CameraController.gameObject) == Networking.LocalPlayer)
{
if (_EnterSwitchFunction != "")
{
_CameraController.SendCustomEvent(_EnterSwitchFunction);
}
}
base.OnPlayerTriggerEnter(Player);
}
public override void OnPlayerTriggerExit(VRCPlayerApi Player)
{
if (Networking.GetOwner(_CameraController.gameObject) == Networking.LocalPlayer)
{
if (_ExitSwitchFunction != "")
{
_CameraController.SendCustomEvent(_ExitSwitchFunction);
}
}
base.OnPlayerTriggerExit(Player);
}
#if UNITY_EDITOR
private void OnDrawGizmos()
{
Gizmos.DrawIcon(transform.position, "CameraSwitcher", true);
}
#endif
}