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; /// /// 课程详情面板 /// public class CourseTaskDetailPanel : PanelBasic { /// /// 关卡按钮预制体 /// public LevelItem level_item_prefab; /// /// 关卡按钮容器 /// public RectTransform level_item_content; /// /// 背景图片(地图) /// public Image back_ground_image; /// /// 返回按钮 /// public Button back_button; /// /// 查看背景文本按钮 /// public Button back_ground_button; /// /// 当前课程数据 /// public List course_task_item_data = new List(); public List LevelItems = new List(); // public CourseTaskItemData course_task_item_data; public List back_button_list; /// /// 当前课程简介 /// 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 _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("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(_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); } }