using System.Collections; using System.Collections.Generic; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TMPro; using UnityEngine; using UnityEngine.UI; using static InterfaceManager; using static LoginSceneUIManager; /// /// 课程任务Item /// public class CourseTaskItem : MonoBehaviour { /// /// 课程任务图片 /// public Image target_image; /// /// 课程任务选择按钮 /// public Button course_task_item_button; /// /// 课程任务名称 /// public TextMeshProUGUI course_task_name_text; ///// ///// 课程数据 ///// //public class CourseTaskItemData //{ // /// // /// 课程id // /// // public string course_task_id; // /// // /// 课程名称 // /// // public string course_task_name; // /// // /// 课程图标 // /// // public string task_image_url; // /// // /// 课程背景 // /// // public string task_back_ground_story; // /// // /// 课程地图 // /// // public string task_map_url; // /// // /// 课程关卡 // /// // public TaskLevelData[] task_levels; //} /// /// 课程数据,任务数据二合一 (非任务详情数据) /// public class CourseTaskItemData { public string id; /// /// 课程id /// public string courseId; /// /// 课程名称 /// public string courseName; /// /// 课程背景图url /// public string courseBgpicture; /// /// 任务名称 /// public string taskName; /// /// 任务图标url /// public string coverUrl; /// /// 老师名称 /// public string teacherName; /// /// 信息 /// public string information; /// /// 任务详情id /// public string detailId; /// /// 内容id /// public string contentId; /// /// 用户id /// public string appId; /// /// 任务id /// public string taskId; /// /// 学校名称 /// public string university; /// /// 课程图标 /// public string taskImageUrl; /// /// 课程背景 /// public string taskBackGroundStory; /// /// 课程地图 /// public string taskMapUrl; /// /// 课程场景 /// public string task_scence; /// /// 课程关卡 /// //public string taskLevels; public TaskLevelData[] task_levels; /// /// 编程语言 /// public string programLanguage; /// /// 组件类型 /// public string appType; /// /// 场景名称 /// public string sceneName; /// /// 考察点 /// public List investigatePointList; /// /// 课程简介 /// public string courseTextIntroduction; /// /// 组件名字(编程教学_xxx) /// public string contentName; } /// /// 课程关卡数据 /// public class TaskLevelData { /// /// 关卡顺序 /// public int level_index; /// /// 关卡名称 /// public string level_name; /// /// 关卡类型 /// public string level_type; /// /// 关卡描述 /// public string level_description; /// /// 关卡知识点 /// public string[] level_title; /// /// 是否可以跳过关卡 /// public string level_skip_able; /// /// 关卡位置 /// public string level_location; } /// /// 案例数据 /// public CourseTaskItemData course_task_item_data { get; set; } public List _courseData; private void Start() { course_task_item_button.onClick.AddListener(() => { course_task_detail_panel.OnActive(course_task_panel); //自身属于course_task_panel course_task_detail_panel.Init(_courseData, course_task_item_data.courseTextIntroduction); }); } /// /// 初始化 /// /// public void Init(CourseTaskItemData _course_task_item_data = null) { if (_course_task_item_data != null) course_task_item_data = _course_task_item_data; if (course_task_item_data != null) { course_task_name_text.text = course_task_item_data.courseName; if (!string.IsNullOrEmpty(course_task_item_data.courseBgpicture)) StartCoroutine(GetSprite(course_task_item_data.courseBgpicture, (_sprite) => { target_image.sprite = _sprite; })); GetCoursePracticalList(course_task_item_data.courseId); } } /// /// 获取课程下实训列表 /// private void GetCoursePracticalList(string id) { //删除实训UI item string url = IdAddress + ":8080/personal/center/course/training/list?pageNum=1&pageSize=99&courseId=" + id + "&appId=" + CallForTest.instance.Appid+"&userId=" + CallForTest.instance.user.userId; StartCoroutine(Get(url, (flag, _data) => { if (flag) { Debug.Log(url); var _jobject = JObject.Parse(_data); _courseData = JsonConvert.DeserializeObject>(_jobject["rows"].ToString()); _courseData.ForEach(a => { a.courseId = id; }); } })); } }