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); } }
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(); }
private void HighlightCard(LevelCard lc) { LevelName.text = lc.NameOfLevel; LevelDescription.text = lc.Description; CurrentSelectedCard = lc; }