public void Update()
    {
        if (controls == null || controls.Count == 0)
        {
            setSelectedIndex(0);
            return;
        }

        if (isMouseDown)
        {
            var selectedControl = findClosestItemToCenter();
            if (selectedControl != null)
            {
                setSelectedIndex(controls.IndexOf(selectedControl));
                lastSelected = selectedIndex;
            }
        }

        var temp = Mathf.Max(0, selectedIndex);

        temp = Mathf.Min(controls.Count - 1, temp);
        setSelectedIndex(temp);

        if (Application.isPlaying)
        {
            updateSlides();
        }
        else
        {
            layoutSlidesForEditor();
        }
    }