Paste
Of Code


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
using System.Collections.Generic;
using Unity.Cinemachine;
using UnityEngine;
using UnityEngine.InputSystem;

public class SwitchPlayerNew : MonoBehaviour
{
    [Header("Input Action References")]
    [SerializeField] private InputActionReference switcherAction;
    [SerializeField] private InputActionReference interactAction;
    [Space]
    [Header("Cinemachine Settings")]
    [SerializeField] private List<CinemachineCamera> virtualCameras;
    [Space]
    [Header("Layermask Settings")]
    [SerializeField] private LayerMask mask;

    private int currentCamIndex = 0;
    Camera cam;

    
    

    void Start()
    {
      cam = Camera.main;
    }

    
    void Update()
    {
        SwitchPlayers();
        RayCast();
    }


    private void SwitchPlayers()
    {
        if (switcherAction.action.WasPerformedThisFrame())
        {

            // Lower priority on current cam
            virtualCameras[currentCamIndex].Priority = 10;

            // Move to next cam index
            currentCamIndex = (currentCamIndex + 1) % virtualCameras.Count;

            // Raise priority on new cam
            virtualCameras[currentCamIndex].Priority = 11;
        }
       
    }

    private void RayCast()
    {
        Vector3 mousePos = Input.mousePosition;
        mousePos.z = 100f;
        mousePos = cam.ScreenToWorldPoint(mousePos);

        if (interactAction.action.WasPerformedThisFrame())
        {
            Ray ray = cam.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray,out hit, 100,mask))
            {
                Debug.Log(hit.transform.name);
                
            }
        }
    }





    void OnEnable()
    {
        switcherAction.action.Enable();
        interactAction.action.Enable();
    }
}

Toggle: theme, font