void clickButton()
 {
     if (selectedMenuItem != null && !menuItemClicked && control.isButtonPressed())
     {
         Button button = selectedMenuItem.GetComponent <Button>();
         if (button.interactable)
         {
             button.onClick.Invoke();
             menuItemClicked = true;
         }
     }
     else if (menuItemClicked && selectedMenuItem != null && !control.isButtonPressed())
     {
         menuItemClicked = false;
     }
 }
    public void execute(System.Action <MineSweeperCell> cellCallback, System.Action <MineSweeperRevealedCell> neighbourIndicatorCallback)
    {
        bool buttonPressed = control.isButtonPressed();

        if (!executed && buttonPressed)
        {
            bool hasHoveredCells = hoveredCells.Count > 0;
            executeOnCells(cellCallback);
            if (!hasHoveredCells && neighbourIndicatorCallback != null)
            {
                executeOnNeighbourIndicators(neighbourIndicatorCallback);
            }
            executed = true;
        }
        else if (!buttonPressed)
        {
            executed = false;
        }
    }