using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Collections; using System.Collections.Generic; using System.IO; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; using System; using static InterfaceManager; /// /// 课程任务面板 /// public class CourseTaskPanel : PanelBasic { /// /// 实例root /// Transform course_task_item_content; /// /// 案例预制体 /// CourseTaskItem course_task_item_prefab; /// /// 案例中心返回按钮 /// Button course_task_back_button; /// /// 课程uiitem /// public List course_task_items = new List(); //public List _courseData = new List(); private void Start() { course_task_back_button.onClick.AddListener(OnCaseCenterBack); if (course_task_item_prefab == null) course_task_item_prefab = Resources.Load("Prefabs/UIItem/CourseTaskItem"); } protected override void OnEnable() { base.OnEnable(); GetCourseList(); } /// /// 获取课程列表 /// public void GetCourseList() { //清除ui item course_task_items.ForEach(item => { Destroy(item.gameObject); }); course_task_items.Clear(); //获取线上课程 GetCourse(2, a => { if(a) { GetCourse(4,null); } }); } private void GetCourse(int type, Action callback) { string url = IdAddress + ":8080/personal/center/course/list?pageNum=1&pageSize=99&courseModeType="+type + "&appId=" + CallForTest.instance.Appid + "&userId=" + CallForTest.instance.user.userId+ "&courseStatus=1"; StartCoroutine(Get(url, (flag, _data) => { if (flag) { var _jobject = JObject.Parse(_data); var _courseData = JsonConvert.DeserializeObject>(_jobject["rows"].ToString()); Debug.Log("课程" + type +" "+ _courseData.Count); //生成item for (int i = 0; i < _courseData.Count; i++) { CourseTaskItem _case_item = Instantiate(course_task_item_prefab, course_task_item_content); _case_item.Init(_courseData[i]); course_task_items.Add(_case_item); } if(callback!=null) callback(true); } else { Debug.LogError(_data); if(callback!=null) callback(false); } })); } /// /// 案例中心返回 /// public void OnCaseCenterBack() { OnNagetive(true); } }