Files
unity-application/Assets/Common/Scripts/ListScreenManager.cs
2023-03-06 12:14:25 +00:00

47 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ListScreenManager : MonoBehaviour
{
[Header("List Screen Components")]
// Reference to item-list holder object
public Transform itemContainer;
[Header("Prefabs")]
// Prefab of item
public GameObject itemPrefab;
// TODO: change to ScriptableObject;
[Header("ScriptableObjects")]
public int numberOfItems;
public string[] itemTitle;
public float[] itemProgress;
public Sprite[] itemThumbnail;
public string[] itemScene;
void Start()
{
for (int i = 0; i < numberOfItems; i++)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(itemPrefab, itemContainer);
// Dynamically load appearance
CourseItem item = instance.GetComponent<CourseItem>();
item.courseTitle = itemTitle[i];
item.courseThumbnail = itemThumbnail[i];
item.courseProgress = itemProgress[i];
item.courseScene = itemScene[i];
}
}
// Method used as callback for on click events
public void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}