﻿using UnityEngine;
using System.Collections;

public class CameraScript : MonoBehaviour {
    public enum EtatCamerasEnum { Exocentrique, Egocentrique1, Egocentrique2}
    public EtatCamerasEnum etatCamera;
    public Camera exo;
    public Camera ego1;
    public Camera ego2;

    //-------------------------------------------------------
    // Active une caméra sur les 3 caméaras suivant etatCamera
    private void ActiveCam()
    {
        if (etatCamera == EtatCamerasEnum.Exocentrique )
        {
            exo.enabled = true;
            ego1.enabled = false;
            ego2.enabled = false;
        }
        else if (etatCamera == EtatCamerasEnum.Egocentrique1)
        {
            exo.enabled = false;
            ego1.enabled = true;
            ego2.enabled = false;
        }
        else if (etatCamera == EtatCamerasEnum.Egocentrique2)
        {
            exo.enabled = false;
            ego1.enabled = false;
            ego2.enabled = true;
        }
        else
        {
            Debug.Log("etatCamera INCONSISTENT");
        }
    }

    //---------------------------------------------
    // Retourne l'état des caméras
    public EtatCamerasEnum DonneEtatCameras()
    {
        return etatCamera;
    }

    //---------------------------------------------
    public void SwtichCameraActive()
    {
        if ( etatCamera == EtatCamerasEnum.Exocentrique)
        {
            etatCamera = EtatCamerasEnum.Egocentrique1;
        }
        else if ( etatCamera == EtatCamerasEnum.Egocentrique1)
        {
            etatCamera = EtatCamerasEnum.Egocentrique2;
        }
        else if ( etatCamera == EtatCamerasEnum.Egocentrique2)
        {
            etatCamera = EtatCamerasEnum.Exocentrique;
        }
        else
        { }
        ActiveCam();
    }
    //---------------------------------------------
    // A l'état initial, la caméra active est la caméra exocentrique
    void Start () {
        etatCamera = EtatCamerasEnum.Exocentrique;
        exo.enabled = true;
        ego1.enabled = false;
        ego2.enabled = false;
    }

    //------------------------------------------
    public string StrCameraActive()
    {
        string str="CAMERA ";
        if (etatCamera == EtatCamerasEnum.Exocentrique)
            str += "EXOCENTRIQUE";
        else if (etatCamera == EtatCamerasEnum.Egocentrique1)
            str += "EGOCENTRIQUE 1";
        else if (etatCamera == EtatCamerasEnum.Egocentrique2)
            str += "EGOCENTRIQUE 2";
        else
            str += "*** INCONNU!!! ***";

        return str;
    }

    //------------------------------------------
    public int IntCameraActive()
    {
        int camera_active=0;
        if (etatCamera == EtatCamerasEnum.Exocentrique)
            camera_active = 1;
        else if (etatCamera == EtatCamerasEnum.Egocentrique1)
            camera_active = 2;
        else if (etatCamera == EtatCamerasEnum.Egocentrique2)
            camera_active = 3;
        else
            camera_active = -1;

        return camera_active;
    }

    //------------------------------------------
    // Update is called once per frame
    void Update () {
	
	}

}
