using System; using System.Collections.Generic; using UnityEngine; [Serializable] public class User { [Header("Personal data")] // User nickname public string username; // User avatar public Sprite avatar; [Header("Personal settings")] // TODO: set personal settings and preferences [Header("Progress")] // Total playtime public double playtime; [SerializeField] // List of courses a user started/completed public List courses = new List(); [SerializeField] // List of minigames a user played public List minigames = new List(); // Get a list of all recently started courses, returns a list of tuples of `` public List> GetRecentCourses() { // TODO: return better results (for now only return all courses) List> recentCourses = new List>(); foreach (Progress courseProgress in courses) { CourseIndex idx = courseProgress.Get("courseIndex"); float progress = courseProgress.Get("courseProgress"); recentCourses.Add(Tuple.Create(idx, progress)); } return recentCourses; } // Get a list of all recommended courses, returns a list of tuples of `` public List> GetRecommendedCourses() { List> recommenedCourses = new List>(); if (courses.Count == 0) { recommenedCourses.Add(Tuple.Create(CourseIndex.FINGERSPELLING, 0.0f)); } else { // TODO: return better results (for now only return all courses) foreach (Progress courseProgress in courses) { CourseIndex idx = courseProgress.Get("courseIndex"); float progress = courseProgress.Get("courseProgress"); recommenedCourses.Add(Tuple.Create(idx, progress)); } } return recommenedCourses; } }