public void SetupLevel() { ////Get information of current category CategoryInfo categoryInfo = GuessManager.Instance.GetCategoryInfo(activeCategoryName); levelItemObjectPool.ReturnAllObjectsToPool(); for (int i = 0; i < categoryInfo.levelInfos.Count; i++) { LevelListItem.Type type; if (i < numbersOfActiveLevel) { type = LevelListItem.Type.Completed; } else if (i == numbersOfActiveLevel) { type = LevelListItem.Type.Normal; } else { type = LevelListItem.Type.Locked; } LevelListItem levelListItem = levelListContainer.GetChild(i).transform.gameObject.GetComponent <LevelListItem>(); levelListItem.Setup(categoryInfo, i + 1, type, categoryInfo.levelInfos[i].answer, categoryInfo.levelInfos[i].question, categoryInfo.levelInfos[i].sprite, categoryInfo.levelInfos[i].description); levelListItem.gameObject.SetActive(true); } for (int j = 0; j < categoryInfo.levelInfos.Count; j++) { LevelListItem levelListItem = levelListContainer.GetChild(j).transform.gameObject.GetComponent <LevelListItem>(); levelListItem.SetupMode(timeMode.Contains(j + 1), lockMode.Contains(j + 1)); } }