116 lines
3.0 KiB
C#
116 lines
3.0 KiB
C#
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;
|
|
|
|
/// <summary>
|
|
/// 课程任务面板
|
|
/// </summary>
|
|
public class CourseTaskPanel : PanelBasic
|
|
{
|
|
/// <summary>
|
|
/// 实例root
|
|
/// </summary>
|
|
Transform course_task_item_content;
|
|
/// <summary>
|
|
/// 案例预制体
|
|
/// </summary>
|
|
CourseTaskItem course_task_item_prefab;
|
|
/// <summary>
|
|
/// 案例中心返回按钮
|
|
/// </summary>
|
|
Button course_task_back_button;
|
|
|
|
/// <summary>
|
|
/// 课程uiitem
|
|
/// </summary>
|
|
public List<CourseTaskItem> course_task_items = new List<CourseTaskItem>();
|
|
|
|
//public List<CourseTaskItem.CourseTaskItemData> _courseData = new List<CourseTaskItem.CourseTaskItemData>();
|
|
|
|
|
|
|
|
private void Start()
|
|
{
|
|
course_task_back_button.onClick.AddListener(OnCaseCenterBack);
|
|
if (course_task_item_prefab == null) course_task_item_prefab = Resources.Load<CourseTaskItem>("Prefabs/UIItem/CourseTaskItem");
|
|
|
|
}
|
|
|
|
protected override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
GetCourseList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取课程列表
|
|
/// </summary>
|
|
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<bool> 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<List<CourseTaskItem.CourseTaskItemData>>(_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);
|
|
}
|
|
}));
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 案例中心返回
|
|
/// </summary>
|
|
public void OnCaseCenterBack()
|
|
{
|
|
OnNagetive(true);
|
|
}
|
|
}
|