using UnityEngine;
using Cinemachine;

namespace SPWN
{
    public class CamOverrideExample : MonoBehaviour
    {
        public CinemachineBrain brain;       // Reference to CinemachineBrain on your main Camera
        public CinemachineVirtualCamera camA; // Virtual Camera A
        public CinemachineVirtualCamera camB; // Virtual Camera B

        private bool isOverridden = false;

        void Start()
        {
            if (brain == null || camA == null || camB == null)
            {
                Debug.LogError("Assign brain and virtual cameras!");
                return;
            }

            // Initially enable camA and disable camB
            camA.Priority = 10;
            camB.Priority = 0;
        }

        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                if (!isOverridden)
                {
                    // Switch to camB by raising priority
                    camB.Priority = 20;
                    camA.Priority = 0;

                    brain.m_DefaultBlend.m_Time = 1f; // 1 second blend
                    Debug.Log("Switched to CamB with blend.");
                }
                else
                {
                    // Switch back to camA
                    camA.Priority = 20;
                    camB.Priority = 0;
                    brain.m_DefaultBlend.m_Time = 1f;
                    Debug.Log("Switched back to CamA with blend.");
                }

                isOverridden = !isOverridden;
            }
        }
    }
}