void InitCards()
    {
        LevelsController levels = LevelsController.GetInstance();

        if (levels == null)
        {
            return;
        }

        for (int i = 0; i < levels.levels.Count; i++)
        {
            int         id    = i;
            CustomLevel level = levels.levels[id];

            GameObject instance = Instantiate(selectorCardTemplate, parent);
            LevelCard  card     = instance.GetComponent <LevelCard>();
            card.SetCardData(level);

            CustomButton cb = instance.GetComponent <CustomButton>();

            cb.onPointerEnter.AddListener(() =>
            {
                levelCardHovered?.Invoke(level);
            });

            cb.onClick.AddListener(() =>
            {
                levels.SelectLevelById(id);
                pages.OpenPage(1);
            });

            selectorCards.Add(instance);
        }
    }