using UdonSharp; using UnityEngine; using VRC.SDKBase; using VRC.Udon; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class CameraControllerRound2 : CameraControllerBase { [Space] [SerializeField] public Camera Player1Camera; [SerializeField] public Camera Player2Camera; [SerializeField] public Camera HostAndWinnerCamera; [SerializeField] public Camera LocationBoardCamera; [SerializeField] public Camera PrimaryFocusCamera; [SerializeField] public Camera VideoPlayerCamera; [Space] //[SerializeField] public CameraTimerSwitchTrigger HostCameraTrigger; [Space] //[SerializeField] public CameraTimedSwitcher HostAndAllPlayersTimerToggle; //[SerializeField] public CameraTimedSwitcher HostAndIndividualPlayersTimerToggle; [Space] [SerializeField] public CameraAnchor Player1CameraAnchor; [SerializeField] public CameraAnchor Player2CameraAnchor; [SerializeField] public CameraAnchor HostAndWinnerCameraAnchor; [SerializeField] public CameraAnchor LocationBoardCameraAnchor; [SerializeField] public CameraAnchor VideoPlayerCameraAnchor; public override void InitialiseCameras() { Player1CameraAnchor.AttachCamera(Player1Camera); Player2CameraAnchor.AttachCamera(Player2Camera); HostAndWinnerCameraAnchor.AttachCamera(HostAndWinnerCamera); LocationBoardCameraAnchor.AttachCamera(LocationBoardCamera); VideoPlayerCameraAnchor.AttachCamera(VideoPlayerCamera); } public override void OnOwnershipTransferred(VRCPlayerApi Player) { Networking.SetOwner(Player, Player1Camera.gameObject); Networking.SetOwner(Player, Player2Camera.gameObject); Networking.SetOwner(Player, HostAndWinnerCamera.gameObject); Networking.SetOwner(Player, LocationBoardCamera.gameObject); Networking.SetOwner(Player, PrimaryFocusCamera.gameObject); Networking.SetOwner(Player, VideoPlayerCamera.gameObject); Networking.SetOwner(Player, Player1CameraAnchor.gameObject); Networking.SetOwner(Player, Player2CameraAnchor.gameObject); Networking.SetOwner(Player, HostAndWinnerCameraAnchor.gameObject); Networking.SetOwner(Player, LocationBoardCameraAnchor.gameObject); Networking.SetOwner(Player, VideoPlayerCameraAnchor.gameObject); base.OnOwnershipTransferred(Player); } public void SwitchToPlayer1Camera() { DisableAllSwitchers(); SwitchToLiveCamera(Player1Camera); } public void SwitchToPlayer2Camera() { DisableAllSwitchers(); SwitchToLiveCamera(Player2Camera); } public void SwitchToHostAndWinnerCamera() { DisableAllSwitchers(); SwitchToLiveCamera(HostAndWinnerCamera); } public void SwitchToVideoPlayerCamera() { DisableAllSwitchers(); SwitchToLiveCamera(VideoPlayerCamera); } public void ActivateWideShotCamera() { //DefaultWideShotCameraAnchor.AttachCamera(PrimaryFocusCamera); } public void SwitchToWideShotCamera() { //DisableAllSwitchers(); //ActivateWideShotCamera(); //SwitchToLiveCamera(PrimaryFocusCamera); } public void ActivateHostAllPlayersCameraSwitcher() { //ActivateAllPlayersCamera(); //HostAndIndividualPlayersTimerToggle.Activate = false; //HostAndAllPlayersTimerToggle.Activate = true; } public void ActivateHostCameraTrigger() { //HostCameraTrigger.gameObject.SetActive(true); } public void DeactivateHostCameraTrigger() { //HostCameraTrigger.gameObject.SetActive(false); } public override void DisableAllTriggers() { //HostCameraTrigger.gameObject.SetActive(false); } public override void DisableAllSwitchers() { //HostAndAllPlayersTimerToggle.Activate = false; //HostAndIndividualPlayersTimerToggle.Activate = false; } }