using System.Collections;
using UnityEngine;

public class AlignText : MonoBehaviour
{
    private Camera Cam;
    public Camera Cam1;
    public Camera Cam2;
    public Camera BackUPCam;


    void Start()
    {
        StartCoroutine(CheckForNewMainCamRoutine());
    }

    void Update()
    {
        if (Cam == null)
            return;

        transform.forward = Cam.transform.forward;

        //TODO: this should be done via event system when controlMode is changed; not every Frame!
        //Überprüfen ob Textfeld einen Collider hat, und wenn ja dieser aktiv sein soll
        if (gameObject.TryGetComponent(out BoxCollider boxCollider))
        {
            if (UIconfig.controlMode == UIconfig.ControlMode.Keyboard) 
                boxCollider.enabled = false;

            if (UIconfig.controlMode == UIconfig.ControlMode.Mobile)
                boxCollider.enabled = true;
        }
    }

    Camera toCamMain()
    {
        if (Camera.main != null)
        {
            return Camera.main;
        }
        //return BackUPCam;
        return Camera.main;
    }

    IEnumerator CheckForNewMainCamRoutine()
    {
        yield return new WaitForSeconds(0);//Verzögerung für Bug aufhebung hinzugefügt, Bug selbst aktuell vergessen
        Cam = UIconfig.MainCameraID switch
        {
            0 => toCamMain(),
            1 => Cam1,
            2 => Cam2,
            _ => toCamMain(),
        };
    }
}