private void TryRandomizeMechanic(Image referenceIcon, Image icon, TextMeshProUGUI name, SpecialTargetScreen infoButton, bool startTrigger)
    {
        if (referenceIcon.GetComponent <CanvasGroup>().alpha <= _toStartNextRandomCount)
        {
            startTrigger = false;
        }

        if (startTrigger)
        {
            icon.GetComponent <CanvasGroup>().DOFade(0, _alphaDuration);
        }

        if (icon.GetComponent <CanvasGroup>().alpha <= 0.01f)
        {
            ShowRandomResult(RandomizeMechanic(_mechanicsForRandom), icon, name, infoButton);
            icon.GetComponent <CanvasGroup>().DOFade(1, _alphaDuration);
        }

        _startTrigger = false;
    }
 private void ShowRandomResult(GameMechanic mechanic, Image icon, TextMeshProUGUI name, SpecialTargetScreen infoButton)
 {
     icon.sprite = mechanic.Icon;
     name.text   = mechanic.Name;
     icon.color  = mechanic.Color;
     name.color  = mechanic.Color;
     infoButton.NameOfInfoScreen = mechanic.NameOfInfoScreen;
 }