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);
}
}