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