EgonMilanVotrubec

CameraSwitch

Feb 8th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.61 KB | None | 0 0
  1. using Cinemachine;
  2.  
  3. public class CameraSwitch : MonoBehaviour
  4. {
  5.     public enum CameraType
  6.     {
  7.         None =-1,
  8.         Main,
  9.         First,
  10.         Third,
  11.         Back
  12.     }
  13.  
  14.     [Header ( "Cinemachine Virtual Cameras" )]
  15.     public CinemachineVirtualCamera MainVirtualCamera;
  16.     public CinemachineVirtualCamera FirstVirtualCamera;
  17.     public CinemachineVirtualCamera ThirdVirtualCamera;
  18.     public CinemachineVirtualCamera BackVirtualCamera;
  19.  
  20.     private CinemachineVirtualCamera[] virtualCameras;
  21.     public CameraType CurrentCameraType { get; private set; }
  22.  
  23.  
  24.     private void Start ( )
  25.     {
  26.         virtualCameras = new CinemachineVirtualCamera [ ] { MainVirtualCamera, FirstVirtualCamera, ThirdVirtualCamera, BackVirtualCamera };
  27.         ChangeCamera ( CameraType.Main );
  28.     }
  29.  
  30.  
  31.     public void ChangeCamera ( CameraType cameraType )
  32.     {
  33.         for ( int i = 0; i < virtualCameras.Length; i++ )
  34.             virtualCameras [ i ].gameObject.SetActive ( false );
  35.         if ( cameraType != CameraType.None )
  36.                 virtualCameras [ ( int ) cameraType ].gameObject.SetActive ( true );
  37.         CurrentCameraType = cameraType;
  38.     }
  39.  
  40.  
  41.     private void Update ( )
  42.     {
  43.         if ( Input.GetKeyDown ( "t" ) )
  44.             if ( CurrentCameraType == CameraType.First )
  45.                 ChangeCamera ( CameraType.Main );
  46.             else
  47.                 ChangeCamera ( CameraType.First );
  48.  
  49.         if ( Input.GetKeyDown ( "b" ) )
  50.             ChangeCamera ( CameraType.Back );
  51.  
  52.         // Don't know how you wanted your third camera activated. But your logic would go here...
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment