using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class LevelSelectController : MonoBehaviour {
[SerializeField] private GameObject pagePrefab;
[SerializeField] private int nonPageObjects = 3;
private void Start() {
InitalizeLevelSelect();
}
///
/// Initializes LevelSelect
///
public void InitalizeLevelSelect()
{
int highestLevel = GameManager.Instance.HighestLevel;
int lastLevel = GameManager.Instance.LastLevel;
int pagesNeeded = lastLevel % 6 == 0? lastLevel/6 : lastLevel/6 + 1;
int buttonsOnLastPage = lastLevel % 6;
GameObject currentPage;
for (int i = 1; i <= pagesNeeded; i++)
{
currentPage = GameObject.Instantiate(pagePrefab, transform.GetChild(0));
currentPage.GetComponent().PageNr = i;
//Load images for buttons
for (int j = 1; j <= 6; j++)
{
String buttonName = "ButtonLevel" + j;
int levelNr = j + (currentPage.GetComponent().PageNr-1) * 6;
GameObject button = currentPage.transform.Find(buttonName).gameObject;
Image image = button.transform.Find("Image").GetComponent();
// Level unlocked
if (levelNr <= highestLevel)
{
string loadStr = levelNr < 10 ? "LevelSelect/Level0" + levelNr : "LevelSelect/Level" + levelNr;
image.sprite = Resources.Load(loadStr, typeof(Sprite)) as Sprite;
button.transform.Find("Text").gameObject.GetComponent().text = levelNr + "";
button.GetComponent