using System; using System.Collections.Generic; using UnityEngine; /// /// CourseMenuScreen scene manager /// public class CourseMenuScreen : MonoBehaviour { /// /// Reference to text that displays when there are no recent courses /// public GameObject noRecentCourses; /// /// Reference to recent-courses-list container object /// public Transform recentCoursesContainer; /// /// Reference to recommended-courses-list container object /// public Transform recommendedCoursesContainer; /// /// Prefab of the course item object /// public GameObject courseItem; /// /// Reference to the users so we can get the current user; /// public UserList userList; /// /// Reference to the courses /// public CourseList courseList; /// /// Start is called before the first frame update /// void Start() { User user = userList.GetCurrentUser(); // Recent courses List> recentCourses = user.GetRecentCourses(); noRecentCourses.SetActive(recentCourses.Count <= 0); foreach (Tuple course in recentCourses) { // Create instance of prefab GameObject instance = GameObject.Instantiate(courseItem, recentCoursesContainer); // Dynamically load appearance CourseItem item = instance.GetComponent(); item.course = courseList.GetCourseByIndex(course.Item1); item.progress = course.Item2; } // Recommended courses List> recommenedCourses = user.GetRecommendedCourses(); foreach (Tuple course in recommenedCourses) { // Create instance of prefab GameObject instance = GameObject.Instantiate(courseItem, recommendedCoursesContainer); // Dynamically load appearance CourseItem item = instance.GetComponent(); item.course = courseList.GetCourseByIndex(course.Item1); item.progress = course.Item2; } } /// /// Method used as callback for 'all courses' button onClick events /// public void GotoListOfCourses() { SystemController.GetInstance().LoadNextScene("Common/Scenes/ListCoursesScreen"); } }