using UnityEngine;
using UnityEngine.Playables;
///
/// ListCourseScreen scene manager
///
public class ListCoursesScreen : MonoBehaviour
{
///
/// Reference to the course-list container object
///
public Transform courseContainer;
///
/// Prefab of the course item object
///
public GameObject courseItemPrefab;
///
/// Reference to the list of all courses
///
public CourseList courseList;
///
/// Reference to the scene playable director
///
public PlayableDirector directorEnterFromCourseMenu;
///
/// Start is called before the first frame update
///
void Start()
{
PersistentDataController.GetInstance().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();
item.course = course;
var progress = user.GetCourseProgress(course.index);
item.progress = progress != null ? progress.progress : 0.0f;
}
var sys = SystemController.GetInstance();
if (sys.previousScene == SystemController.GetSceneIndex("Common/Scenes/CoursesMenuScreen"))
directorEnterFromCourseMenu.Play();
}
///
/// Method used as callback for course item onClick events
///
public void GotoCourseInfo()
{
SystemController.GetInstance().LoadNextScene("Common/Scenes/CourseActivityScreen");
}
}