// Update is called once per frame
    void Update()
    {
        if (spellList.Count == 0)
        {
            return;
        }

        if (firstHighlight)
        {
            spellList [0].Value.SetHighlight(true);
            firstHighlight = false;
            return;
        }

        if (Input.GetButtonDown(Helpers.Fire1(team)))
        {
            soundManager.PlayMenuItemSelect();
            spellSelectedCallback(spellList [currentIndex].Key);
            Destroy(gameObject);
            return;
        }

        if (Input.GetButtonDown(Helpers.Fire2(team)))
        {
            soundManager.PlayMenuCancel();
            spellPickerCancelledCallback();
            Destroy(gameObject);
            return;
        }

        Vector2 dir = AxisButtonDownGetter.GetInput(team);

        if (dir.y == 0f)
        {
            return;
        }
        else
        {
            spellList [currentIndex].Value.SetHighlight(false);
            if (dir.y > 0 && currentIndex > 0)
            {
                soundManager.PlayMenuItemSelect();
                currentIndex--;
            }
            else if (dir.y < 0 && currentIndex < spellList.Count - 1)
            {
                soundManager.PlayMenuItemSelect();
                currentIndex++;
            }

            spellList [currentIndex].Value.SetHighlight(true);
            return;
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (!gameObject.activeSelf)
        {
            return;
        }

        if (ignoreFirstClick)
        {
            ignoreFirstClick = false;
            return;
        }

        // listen to cancel button
        if (Input.GetButtonDown(Helpers.Fire2(casc.combatant.team)))
        {
            soundManager.PlayMenuCancel();
            TargetSelectorCancelled();
            return;
        }

        // listen to select action
        if (Input.GetButtonDown(Helpers.Fire1(casc.combatant.team)))
        {
            TargetSelected();
            return;
        }

        // listen to horizontal / vertical input
        Vector2 dir = AxisButtonDownGetter.GetInput(casc.combatant.team);

        if (dir.Equals(Vector2.zero))
        {
            return;
        }
        else
        {
            Move(dir);
            return;
        }
    }