Example #1
0
    private void CreateUserLevelsCards()
    {
        for (int i = 0; i < levelsCreatedCategory.levels.Count; i++)
        {
            int       index     = i;
            LevelData levelData = levelsCreatedCategory.levels[i];
            LevelCard levelCard = Instantiate(levelCardPrefab, levelsCreatedParent.transform);
            levelCard.ConfigureLevel(levelData, levelsCreatedCategory, i + 1);
            levelCard.DeactivateStars();
            levelCard.button.onClick.AddListener(() =>
            {
                //currentLevelCreatedPanel.SetActive(true);
                levelCreatedIndex = index;
                //levelCreatedName.text = levelData.levelName;

                localizedLevelCreatedName.StringReference           = levelData.levelNameLocalized;
                localizedLevelCreatedName.StringReference.Arguments = new object[] { index + 1 };
                localizedLevelCreatedName.RefreshString();
            });
        }
        createLevelButton.gameObject.SetActive(true);
        createLevelButton.onClick.AddListener(() =>
        {
            //levelCreatedName.text = "Crear nivel";

            localizedLevelCreatedName.StringReference = createLevelLocalizeString;
            localizedLevelCreatedName.RefreshString();

            levelCreatedIndex = -1; // Reserved for creator mode
        });
        createLevelButton.transform.SetParent(levelsCreatedParent.transform);

        createLevelButton.onClick.Invoke();
    }
    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);
        }
    }
Example #3
0
    public void ShowLevels()
    {
        if (!ProgressManager.Instance.IsCategoryUnlocked(currentCategory))
        {
            return;
        }

        Category category = categories[currentCategory];

        //currentCategoryLevelsText.text = "Niveles - " + category.name_id;

        //selectedCategoryNameLocaliced.Arguments = new object[] { selectedLevelName };
        currentCategoryLevelsTextLocalized.StringReference = selectedCategoryNameLocaliced[currentCategory];
        currentCategoryLevelsTextLocalized.RefreshString();

        categoriesPanel.SetActive(false);
        levelsPanel.SetActive(true);

        currentCategoryPanel.SetActive(false);
        currentLevelPanel.SetActive(true);

        while (levelsParent.transform.childCount != 0)
        {
            DestroyImmediate(levelsParent.transform.GetChild(0).gameObject);
        }

        for (int i = 0; i < category.levels.Count; i++)
        {
            int       index     = i;
            LevelData levelData = category.levels[i];
            LevelCard levelCard = Instantiate(levelCardPrefab, levelsParent.transform);
            levelCard.ConfigureLevel(levelData, category, i + 1);
            if (ProgressManager.Instance.IsLevelUnlocked(currentCategory, i))
            {
                levelCard.button.onClick.AddListener(() =>
                {
                    currentLevel = index;

                    localizedLevelName.StringReference = levelData.levelNameLocalized;
                    localizedLevelName.RefreshString();

                    //levelName.text = levelData.levelName;
                    levelPreview.sprite = levelData.levelPreview;
                    levelCard.button.Select();
                });
                levelCard.button.onClick.Invoke();
            }
            else
            {
                levelCard.DeactivateCard();
            }
        }

        TraceScreenAccesed();
    }
Example #4
0
 private void HighlightCard(LevelCard lc)
 {
     LevelName.text        = lc.NameOfLevel;
     LevelDescription.text = lc.Description;
     CurrentSelectedCard   = lc;
 }