using System.Collections; using System.Collections.Generic; using Newtonsoft.Json.Linq; using UnityEngine; using TMPro; using UnityEngine.UI; using static LoginSceneUIManager; using static InterfaceManager; public class LevelItem : MonoBehaviour { /// /// 按钮 /// public Button level_button; /// /// 第*关 /// public TextMeshProUGUI level_text; /// /// /// public RectTransform rect_transform; /// /// 任务首图 /// public Image target_image; /// /// 关卡数据 /// private CourseTaskItem.TaskLevelData task_level_data; /// /// 当前选中的 /// public static LevelItem current_level_item; bool is_selected; public Sprite normal_sprite; public Sprite selected_sprite; private int index = 0; /// /// 当前选中的任务 /// private CourseTaskItem.CourseTaskItemData currentitemdata; private void Start() { level_button.onClick.AddListener(OnLevel); level_detail_panel.gameObject.SetActive(false); } // public void Init(CourseTaskItem.TaskLevelData _task_level_data) // { // task_level_data = _task_level_data; // level_text.text = string.Format("第{0}关", task_level_data.level_index); // // rect_transform.anchoredPosition = new Vector2(float.Parse(task_level_data.level_location.Split(',')[0]), float.Parse(task_level_data.level_location.Split(',')[1])); // } public void Init(CourseTaskItem.CourseTaskItemData _task_data, int _index) { index = _index; if (_task_data != null) { currentitemdata = _task_data; level_text.text = _task_data.taskName; // GetTaskDetails(_task_data.detailId); if (!string.IsNullOrEmpty(_task_data.coverUrl)) StartCoroutine(GetSprite(currentitemdata.coverUrl, (_sprite) => { target_image.sprite = _sprite; })); } //rect_transform.anchoredPosition = new Vector2(float.Parse(task_level_data.level_location.Split(',')[0]), float.Parse(task_level_data.level_location.Split(',')[1])); } private void OnEnable() { current_level_item = null; } public void OnLevel() { is_selected = !is_selected; SetButtonState(is_selected); if (current_level_item == null) { //level_detail_panel.Init(task_level_data); level_detail_panel.Init(currentitemdata, index); level_detail_panel.OnSwitch(); current_level_item = this; _currentchoosetaskid.taskId = currentitemdata.taskId; } else { _currentchoosetaskid.taskId = currentitemdata.taskId; if (current_level_item != this) { current_level_item.SetButtonState(false); // level_detail_panel.Init(task_level_data); level_detail_panel.Init(currentitemdata, index); // level_detail_panel.OnSwitch(); current_level_item = this; } else { _currentchoosetaskid.taskId = currentitemdata.taskId; level_detail_panel.OnSwitch(); current_level_item = null; } } } /// /// 更换按钮图标状态 /// /// public void SetButtonState(bool _is_selected) { is_selected = _is_selected; //level_button.image.sprite = _is_selected ? selected_sprite : normal_sprite; //level_button.image.SetNativeSize(); level_text.color = _is_selected ? Color.yellow : Color.white; } /// /// 实训详情 /// private void GetTaskDetails(string _deteaild) { string url = IdAddress + ":8080/personal/center/course/training/task/detail?detaild=" + _deteaild; StartCoroutine(Get(url, (flag, _data) => { if (flag) { var _jobject = JObject.Parse(_data); } })); } }