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 }