ict.xunfei/Assets/Scripts/UIManager/Items/LevelItem/LevelItem.cs

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);
}
}));
}
}