Integrate minigame and courses
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@@ -9,57 +10,49 @@ public class CourseScreenManager : MonoBehaviour
|
||||
// Reference to text that displays when there are no recent courses
|
||||
public GameObject noRecentCourses;
|
||||
// Reference to recent-courses-list holder object
|
||||
public Transform recentCourses;
|
||||
public Transform recentCoursesContainer;
|
||||
// Reference to recommended-courses-list holder object
|
||||
public Transform recommendedCourses;
|
||||
public Transform recommendedCoursesContainer;
|
||||
|
||||
[Header("Prefabs")]
|
||||
// CourseItem prefab
|
||||
public GameObject course_item;
|
||||
public GameObject courseItem;
|
||||
|
||||
// TODO: change to ScriptableObject;
|
||||
[Header("ScriptableObjects")]
|
||||
public int numberOfRecentCourses;
|
||||
public string[] recentCourseTitle;
|
||||
public float[] recentCourseProgress;
|
||||
public Sprite[] recentCourseThumbnail;
|
||||
public string[] recentCourseScene;
|
||||
public int numberOfRecommendedCourses;
|
||||
public string[] recommendedCourseTitle;
|
||||
public float[] recommendedCourseProgress;
|
||||
public Sprite[] recommendedCourseThumbnail;
|
||||
public string[] recommendedCourseScene;
|
||||
[Header("User")]
|
||||
// Reference to the users so we can get the current user;
|
||||
public UserList userList;
|
||||
// Reference to the courses
|
||||
public CourseList courseList;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Recent courses
|
||||
noRecentCourses.SetActive(numberOfRecentCourses <= 0);
|
||||
User user = userList.users[userList.currentUserIndex];
|
||||
|
||||
for (int i = 0; i < numberOfRecentCourses; i++)
|
||||
// Recent courses
|
||||
List<Tuple<CourseIndex, float>> recentCourses = user.GetRecentCourses();
|
||||
noRecentCourses.SetActive(recentCourses.Count <= 0);
|
||||
foreach (Tuple<CourseIndex, float> course in recentCourses)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(course_item, recentCourses);
|
||||
GameObject instance = GameObject.Instantiate(courseItem, recentCoursesContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.courseTitle = recentCourseTitle[i];
|
||||
item.courseThumbnail = recentCourseThumbnail[i];
|
||||
item.courseProgress = recentCourseProgress[i];
|
||||
item.courseScene = recentCourseScene[i];
|
||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
||||
item.progress = course.Item2;
|
||||
}
|
||||
|
||||
// Recommended courses
|
||||
for (int i = 0; i < numberOfRecommendedCourses; i++)
|
||||
List<Tuple<CourseIndex, float>> recommenedCourses = user.GetRecommendedCourses();
|
||||
foreach (Tuple<CourseIndex, float> course in recommenedCourses)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(course_item, recommendedCourses);
|
||||
GameObject instance = GameObject.Instantiate(courseItem, recommendedCoursesContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.courseTitle = recommendedCourseTitle[i];
|
||||
item.courseThumbnail = recommendedCourseThumbnail[i];
|
||||
item.courseProgress = 0.0f; // So progress bar doesn't show
|
||||
item.courseScene = recommendedCourseScene[i];
|
||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
||||
item.progress = course.Item2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user