using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIManager : MonoBehaviour
{
    public Spline li;
    public Spline sp;
    public Ellipse el;
    public Exponential ex;
    public Hyperbola hy;
    public InverseTri it;
    public Logarithmic log;
    public ThreeD td;
    public Trigonometric tr;
    public Customized cus;

    public GameObject liUI;
    public GameObject spUI;
    public GameObject elUI;
    public GameObject exUI;
    public GameObject hyUI;
    public GameObject itUI;
    public GameObject logUI;
    public GameObject tdUI;
    public GameObject trUI;
    public GameObject cusUI;
    // Start is called before the first frame update
    void Start()
    {
        CloseAllUI();
    }

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

    public void OpenLiUI()
    {
        CloseAllUI();
        liUI.SetActive(true);
    }

    public void DrawLine2D()
    {
        AllClear();
        li.DrawSpline();
    }

    public void DrawLine3D()
    {
        AllClear();
        li.DrawSpline3D();
    }

    public void OpenSpUI()
    {
        CloseAllUI();
        spUI.SetActive(true);
    }

    public void DrawSpline2D()
    {
        AllClear();
        sp.DrawSpline();
    }

    public void DrawSpline3D()
    {
        AllClear();
        sp.DrawSpline3D();
    }
    public void OpenElUI()
    {
        CloseAllUI();
        elUI.SetActive(true);
    }
    public void DrawEllipse2D()
    {
        AllClear();
        el.DrawEllipse();
    }

    public void DrawEllipse3D()
    {
        AllClear();
        el.DrawEllipse3D();
    }

    public void OpenExUI()
    {
        CloseAllUI();
        exUI.SetActive(true);
    }
    public void DrawExponential()
    {
        AllClear();
        ex.DrawExponential();
    }

    public void DrawExponential3D()
    {
        AllClear();
        ex.DrawExponential3D();
    }

    public void OpenHyUI()
    {
        CloseAllUI();
        hyUI.SetActive(true);
    }
    public void DrawHyperbola2D()
    {
        AllClear();
        hy.DrawHyperbola();
    }

    public void DrawHyperbola3D()
    {
        AllClear();
        hy.DrawHyperbola3D();
    }

    public void OpenItUI()
    {
        CloseAllUI();
        itUI.SetActive(true);
    }
    public void DrawInverseTri2D()
    {
        AllClear();
        it.DrawInverseTri();
    }

    public void DrawInverseTri3D()
    {
        AllClear();
        it.DrawInverseTri3D();
    }

    public void OpenLogUI()
    {
        CloseAllUI();
        logUI.SetActive(true);
    }
    public void DrawLogarithmic2D()
    {
        AllClear();
        log.DrawLogarithmic();
    }

    public void DrawLogarithmic3D()
    {
        AllClear();
        log.DrawLogarithmic3D();
    }
    public void OpenTrUI()
    {
        CloseAllUI();
        trUI.SetActive(true);
    }
    public void DrawTrigonometric2D()
    {
        AllClear();
        tr.DrawTrigonometric();
    }

    public void DrawTrigonometric3D()
    {
        AllClear();
        tr.DrawTrigonometric3D();
    }
    public void OpenCusUI()
    {
        CloseAllUI();
        cusUI.SetActive(true);
    }
    public void DrawCustomized2D()
    {
        AllClear();
        cus.DrawCustomized();
    }

    public void DrawCustomized3D()
    {
        AllClear();
        cus.DrawCustomized3D();
    }
    public void OpenTdUI()
    {
        CloseAllUI();
        tdUI.SetActive(true);
    }
    public void DrawThreeD()
    {
        AllClear();
        td.DrawThreeD();
    }

    public void AllClear()
    {
        li.MeshClear();
        sp.MeshClear();
        el.MeshClear(); 
        ex.MeshClear();
        hy.MeshClear();
        it.MeshClear();
        log.MeshClear();
        td.MeshClear();
        tr.MeshClear();
        cus.MeshClear();
    }

    public void CloseAllUI()
    {
        liUI.SetActive(false);
        spUI.SetActive(false);
        elUI.SetActive(false);
        exUI.SetActive(false);
        hyUI.SetActive(false);
        itUI.SetActive(false);
        logUI.SetActive(false);
        tdUI.SetActive(false);
        trUI.SetActive(false);
        cusUI.SetActive(false);
    }
}