141 lines
4.3 KiB
C#
141 lines
4.3 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 按钮
|
|
/// </summary>
|
|
public Button level_button;
|
|
/// <summary>
|
|
/// 第*关
|
|
/// </summary>
|
|
public TextMeshProUGUI level_text;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public RectTransform rect_transform;
|
|
/// <summary>
|
|
/// 任务首图
|
|
/// </summary>
|
|
public Image target_image;
|
|
/// <summary>
|
|
/// 关卡数据
|
|
/// </summary>
|
|
private CourseTaskItem.TaskLevelData task_level_data;
|
|
/// <summary>
|
|
/// 当前选中的
|
|
/// </summary>
|
|
public static LevelItem current_level_item;
|
|
|
|
bool is_selected;
|
|
public Sprite normal_sprite;
|
|
public Sprite selected_sprite;
|
|
private int index = 0;
|
|
/// <summary>
|
|
/// 当前选中的任务
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更换按钮图标状态
|
|
/// </summary>
|
|
/// <param name="_is_selected"></param>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 实训详情
|
|
/// </summary>
|
|
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);
|
|
|
|
}
|
|
}));
|
|
}
|
|
}
|