using TMPro; using UnityEngine; using UnityEngine.Playables; using UnityEngine.UI; /// /// Manager infopage for the Courses /// public class CourseActivityScreen : MonoBehaviour { // vvv TEMPORARY STUFF vvv public GameObject playButton; public GameObject previewButton; // ^^^ TEMPORARY STUFF ^^^ public GameObject restartButton; /// /// Reference to the courses /// public CourseList courseList; /// /// Reference to the course progress /// private PersistentDataController.SavedCourseProgress progress; /// /// Title Display /// public TMP_Text title; /// /// Description Display /// public TMP_Text description; /// /// Image Display (Thumbnail) /// public Image courseImage; /// /// Progress bar Display /// public Slider progressBar; /// /// Reference to the progressBar gameObject /// public GameObject progressObject; /// /// Reference to the 'completed' gameObject /// public GameObject completedObject; /// /// Reference to the scene playable director /// public PlayableDirector directorEnterFromCourseMenu; /// /// Sets the infopage for a given course /// void Start() { int index = courseList.currentCourseIndex; Course course = courseList.courses[index]; // vvv TEMPORARY STUFF vvv playButton.SetActive(course.theme.modelIndex != ModelIndex.NONE); previewButton.SetActive(course.theme.modelIndex == ModelIndex.NONE); // ^^^ TEMPORARY STUFF ^^^ title.text = course.title; description.text = course.description; courseImage.sprite = course.thumbnail; //slider.value = progressValue; // Set progress PersistentDataController.GetInstance().Load(); progress = UserList.GetCurrentUser().GetCourseProgress(course.index); if (progress != null && course.theme.modelIndex != ModelIndex.NONE) { progressBar.value = progress.progress; if (progress.progress == 1.0f) { playButton.SetActive(false); progressObject.SetActive(false); completedObject.SetActive(true); } if (progress.inUseLearnables > 0) { restartButton.SetActive(true); playButton.transform.Find("Button Text").GetComponent().text = "Verder"; } else { restartButton.SetActive(false); } } else { progressBar.value = 0.0f; restartButton.SetActive(false); playButton.transform.Find("Button Text").GetComponent().text = "Begin"; } var sys = SystemController.GetInstance(); if (sys.previousScene == SystemController.GetSceneIndex("Common/Scenes/CoursesMenuScreen")) directorEnterFromCourseMenu.Play(); } /// /// Callback to reset and start the course /// public void ResetCourseProgress() { UserList.GetCurrentUser().ResetCourseProgress(progress.courseIndex); UserList.Save(); progressBar.value = 0.0f; StartCourse(); } /// /// Callback to start the course /// public void StartCourse() { SystemController.GetInstance().LoadNextScene("Courses/Scenes/CourseScreen"); } }