58 lines
1.5 KiB
C#
58 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// ListCourseScreen scene manager
|
|
/// </summary>
|
|
public class ListCoursesScreen : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// Reference to the userlist
|
|
/// </summary>
|
|
public UserList userList;
|
|
|
|
/// <summary>
|
|
/// Reference to the course-list container object
|
|
/// </summary>
|
|
public Transform courseContainer;
|
|
|
|
/// <summary>
|
|
/// Prefab of the course item object
|
|
/// </summary>
|
|
public GameObject courseItemPrefab;
|
|
|
|
/// <summary>
|
|
/// Reference to the list of all courses
|
|
/// </summary>
|
|
public CourseList courseList;
|
|
|
|
/// <summary>
|
|
/// Start is called before the first frame update
|
|
/// </summary>
|
|
void Start()
|
|
{
|
|
userList.Load();
|
|
User user = userList.GetCurrentUser();
|
|
|
|
foreach (Course course in courseList.courses)
|
|
{
|
|
// Create instance of prefab
|
|
GameObject instance = GameObject.Instantiate(courseItemPrefab, courseContainer);
|
|
|
|
// Dynamically load appearance
|
|
CourseItem item = instance.GetComponent<CourseItem>();
|
|
item.course = course;
|
|
|
|
Progress progress = user.GetCourseProgress(course.index);
|
|
item.progress = progress != null ? progress.Get<float>("courseProgress") : 0.0f;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Method used as callback for course item onClick events
|
|
/// </summary>
|
|
public void GotoCourseInfo()
|
|
{
|
|
SystemController.GetInstance().LoadNextScene("Common/Scenes/CourseActivityScreen");
|
|
}
|
|
}
|