261 lines
6.9 KiB
C#
261 lines
6.9 KiB
C#
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;
|
|
|
|
/// <summary>
|
|
/// 课程任务Item
|
|
/// </summary>
|
|
public class CourseTaskItem : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 课程任务图片
|
|
/// </summary>
|
|
public Image target_image;
|
|
/// <summary>
|
|
/// 课程任务选择按钮
|
|
/// </summary>
|
|
public Button course_task_item_button;
|
|
/// <summary>
|
|
/// 课程任务名称
|
|
/// </summary>
|
|
public TextMeshProUGUI course_task_name_text;
|
|
|
|
///// <summary>
|
|
///// 课程数据
|
|
///// </summary>
|
|
//public class CourseTaskItemData
|
|
//{
|
|
// /// <summary>
|
|
// /// 课程id
|
|
// /// </summary>
|
|
// public string course_task_id;
|
|
// /// <summary>
|
|
// /// 课程名称
|
|
// /// </summary>
|
|
// public string course_task_name;
|
|
// /// <summary>
|
|
// /// 课程图标
|
|
// /// </summary>
|
|
// public string task_image_url;
|
|
// /// <summary>
|
|
// /// 课程背景
|
|
// /// </summary>
|
|
// public string task_back_ground_story;
|
|
// /// <summary>
|
|
// /// 课程地图
|
|
// /// </summary>
|
|
// public string task_map_url;
|
|
// /// <summary>
|
|
// /// 课程关卡
|
|
// /// </summary>
|
|
// public TaskLevelData[] task_levels;
|
|
//}
|
|
|
|
/// <summary>
|
|
/// 课程数据,任务数据二合一 (非任务详情数据)
|
|
/// </summary>
|
|
public class CourseTaskItemData
|
|
{
|
|
public string id;
|
|
/// <summary>
|
|
/// 课程id
|
|
/// </summary>
|
|
public string courseId;
|
|
/// <summary>
|
|
/// 课程名称
|
|
/// </summary>
|
|
public string courseName;
|
|
/// <summary>
|
|
/// 课程背景图url
|
|
/// </summary>
|
|
public string courseBgpicture;
|
|
/// <summary>
|
|
/// 任务名称
|
|
/// </summary>
|
|
public string taskName;
|
|
/// <summary>
|
|
/// 任务图标url
|
|
/// </summary>
|
|
public string coverUrl;
|
|
/// <summary>
|
|
/// 老师名称
|
|
/// </summary>
|
|
public string teacherName;
|
|
/// <summary>
|
|
/// 信息
|
|
/// </summary>
|
|
public string information;
|
|
/// <summary>
|
|
/// 任务详情id
|
|
/// </summary>
|
|
public string detailId;
|
|
/// <summary>
|
|
/// 内容id
|
|
/// </summary>
|
|
public string contentId;
|
|
/// <summary>
|
|
/// 用户id
|
|
/// </summary>
|
|
public string appId;
|
|
/// <summary>
|
|
/// 任务id
|
|
/// </summary>
|
|
public string taskId;
|
|
/// <summary>
|
|
/// 学校名称
|
|
/// </summary>
|
|
public string university;
|
|
/// <summary>
|
|
/// 课程图标
|
|
/// </summary>
|
|
public string taskImageUrl;
|
|
/// <summary>
|
|
/// 课程背景
|
|
/// </summary>
|
|
public string taskBackGroundStory;
|
|
/// <summary>
|
|
/// 课程地图
|
|
/// </summary>
|
|
public string taskMapUrl;
|
|
/// <summary>
|
|
/// 课程场景
|
|
/// </summary>
|
|
public string task_scence;
|
|
/// <summary>
|
|
/// 课程关卡
|
|
/// </summary>
|
|
//public string taskLevels;
|
|
public TaskLevelData[] task_levels;
|
|
|
|
/// <summary>
|
|
/// 编程语言
|
|
/// </summary>
|
|
public string programLanguage;
|
|
/// <summary>
|
|
/// 组件类型
|
|
/// </summary>
|
|
public string appType;
|
|
/// <summary>
|
|
/// 场景名称
|
|
/// </summary>
|
|
public string sceneName;
|
|
/// <summary>
|
|
/// 考察点
|
|
/// </summary>
|
|
public List<string> investigatePointList;
|
|
/// <summary>
|
|
/// 课程简介
|
|
/// </summary>
|
|
public string courseTextIntroduction;
|
|
/// <summary>
|
|
/// 组件名字(编程教学_xxx)
|
|
/// </summary>
|
|
public string contentName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 课程关卡数据
|
|
/// </summary>
|
|
public class TaskLevelData
|
|
{
|
|
/// <summary>
|
|
/// 关卡顺序
|
|
/// </summary>
|
|
public int level_index;
|
|
/// <summary>
|
|
/// 关卡名称
|
|
/// </summary>
|
|
public string level_name;
|
|
/// <summary>
|
|
/// 关卡类型
|
|
/// </summary>
|
|
public string level_type;
|
|
/// <summary>
|
|
/// 关卡描述
|
|
/// </summary>
|
|
public string level_description;
|
|
/// <summary>
|
|
/// 关卡知识点
|
|
/// </summary>
|
|
public string[] level_title;
|
|
/// <summary>
|
|
/// 是否可以跳过关卡
|
|
/// </summary>
|
|
public string level_skip_able;
|
|
/// <summary>
|
|
/// 关卡位置
|
|
/// </summary>
|
|
public string level_location;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 案例数据
|
|
/// </summary>
|
|
public CourseTaskItemData course_task_item_data { get; set; }
|
|
|
|
public List<CourseTaskItemData> _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);
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
/// <param name="_course_task_item_data"></param>
|
|
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);
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取课程下实训列表
|
|
/// </summary>
|
|
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<List<CourseTaskItemData>>(_jobject["rows"].ToString());
|
|
_courseData.ForEach(a =>
|
|
{
|
|
a.courseId = id;
|
|
});
|
|
}
|
|
}));
|
|
|
|
}
|
|
}
|