// Update is called once per frame
    void Update()
    {
        if (Current_State != Types.Setup)
        {
            OnStart = Time.time;

            if (Time.time >= EndTime && !PlayStart && Grid.GetSolvable() && OnStart > 0)
            {
                SetPlayMode();
                PlayStart = true;
            }
            if (Current_State == Types.ViveWin || Current_State == Types.PCWin)
            {
                Debug.Log("sTATE cHANGE");

                if (!FinishStart)
                {
                    FadeTimer   = Time.time + 5.0f;
                    FinishStart = true;
                    Debug.Log("Started is Setf");
                }
            }
            if (FadeTimer <= Time.time && FinishStart)
            {
                Debug.Log("gAMEovER");


                SceneManager.LoadScene(0);
            }
        }
        if (Current_State == Types.Setup)
        {
            Cursor.visible = true;
            if (VRReady && PCReady)
            {
                Current_State = Types.Build;
                OnStart       = Time.time;
                EndTime       = OnStart + StartDelay;
                FadeTimer     = -1.0f;
                FinishStart   = false;
                PlayStart     = false;
            }
        }
    }