128 lines
3.7 KiB
C#
128 lines
3.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using static CourseTaskItem;
|
|
using TMPro;
|
|
using static LoginSceneUIManager;
|
|
using static InterfaceManager;
|
|
using UnityEngine.UI;
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
/// <summary>
|
|
/// 课程详情面板
|
|
/// </summary>
|
|
public class CourseTaskDetailPanel : PanelBasic
|
|
{
|
|
/// <summary>
|
|
/// 关卡按钮预制体
|
|
/// </summary>
|
|
public LevelItem level_item_prefab;
|
|
/// <summary>
|
|
/// 关卡按钮容器
|
|
/// </summary>
|
|
public RectTransform level_item_content;
|
|
/// <summary>
|
|
/// 背景图片(地图)
|
|
/// </summary>
|
|
public Image back_ground_image;
|
|
/// <summary>
|
|
/// 返回按钮
|
|
/// </summary>
|
|
public Button back_button;
|
|
/// <summary>
|
|
/// 查看背景文本按钮
|
|
/// </summary>
|
|
public Button back_ground_button;
|
|
/// <summary>
|
|
/// 当前课程数据
|
|
/// </summary>
|
|
public List<CourseTaskItemData> course_task_item_data = new List<CourseTaskItemData>();
|
|
|
|
public List<LevelItem> LevelItems = new List<LevelItem>();
|
|
// public CourseTaskItemData course_task_item_data;
|
|
public List<GameObject> back_button_list;
|
|
|
|
/// <summary>
|
|
/// 当前课程简介
|
|
/// </summary>
|
|
public string currentCourseTextIntroduction;
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
}
|
|
private void Start()
|
|
{
|
|
back_button.onClick.AddListener(OnBack);
|
|
back_ground_button.onClick.AddListener(OnBackGround);
|
|
}
|
|
|
|
public void Init(List<CourseTaskItemData> _course_task_item_data,string courseTextIntroduction)
|
|
{
|
|
if (_course_task_item_data != null)
|
|
course_task_item_data = _course_task_item_data;
|
|
|
|
currentCourseTextIntroduction = courseTextIntroduction;
|
|
course_task_back_ground_panel.Init(currentCourseTextIntroduction);
|
|
|
|
if (level_item_prefab == null) level_item_prefab = Resources.Load<LevelItem>("Prefabs/UIItem/LevelItem");
|
|
//course_task_back_ground_panel.Init(course_task_item_data.taskBackGroundStory);
|
|
//StartCoroutine((GetSprite(course_task_item_data.taskMapUrl, (_sprit) => { back_ground_image.sprite = _sprit; })));
|
|
//删除item
|
|
LevelItems.ForEach(item =>
|
|
{
|
|
Destroy(item.gameObject);
|
|
});
|
|
LevelItems.Clear();
|
|
|
|
//加载item
|
|
for (int i = 0; i < course_task_item_data.Count; i++)
|
|
{
|
|
LevelItem _item = Instantiate(level_item_prefab, level_item_content);
|
|
//back_button_list.Add(_item.gameObject);
|
|
_item.Init(_course_task_item_data[i], i + 1);
|
|
LevelItems.Add(_item);
|
|
}
|
|
|
|
|
|
|
|
//var _task_levels = JsonConvert.DeserializeObject<TaskLevelData[]>(_course_task_item_data.taskLevels);
|
|
//for (int i = 0; i < _task_levels.Length; i++)
|
|
//{
|
|
// var _item = Instantiate(level_item_prefab, level_item_content);
|
|
|
|
// back_button_list.Add(_item.gameObject);
|
|
// //_item.Init(_course_task_item_data.task_levels[i]);
|
|
|
|
// _item.Init(_task_levels[i]);
|
|
|
|
//}
|
|
|
|
// current_preselect_scene = _course_task_item_data.task_scence;
|
|
}
|
|
|
|
public void OnBack()
|
|
{
|
|
// for (int i = 0; i < back_button_list.Count; i++)
|
|
// {
|
|
// back_button_list[i].SetActive(false);
|
|
// }
|
|
OnNagetive(true);
|
|
}
|
|
|
|
public void OnBackGround()
|
|
{
|
|
course_task_back_ground_panel.OnPopup();
|
|
course_task_back_ground_panel.Init(currentCourseTextIntroduction);
|
|
}
|
|
|
|
protected override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
course_task_back_ground_panel.OnPopup();
|
|
course_task_back_ground_panel.Init(currentCourseTextIntroduction);
|
|
}
|
|
}
|