using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
///
/// 分类实例脚本
///
public class ClassificationItem : MonoBehaviour
{
///
/// 是否已展开菜单
///
public bool is_expanded;
///
/// 分类名称
///
public TextMeshProUGUI ClassificationName;
///
/// 一级标题按钮
///
public Button FirstTittle;
///
/// 展开图标
///
public Image Expand;
///
/// 收起图标
///
public Image Collapse;
///
/// 二级菜单容器
///
public RectTransform DeviceContent;
///
/// 容器物体
///
public RectTransform ParentContent;
///
/// 设备预制体
///
public static DeviceItem DeviceItemPrefab;
///
/// 默认颜色
///
public Color NormalColor = new Color(0.066f, 0.316f, 0.598f);
///
/// 高亮颜色
///
public Color HighlightColor = new Color(0, 0.766f, 1);
///
/// 实例初始化
///
public void Init(ClassificationData classificationData)
{
FirstTittle.onClick.AddListener(OnFirstTittleClick);
ParentContent = transform.parent.GetComponent();
if (classificationData == null)
return;
//实例化分类并进一步实例化设备及其对应信息
ClassificationName.text = classificationData.classification;
if (DeviceItemPrefab == null) DeviceItemPrefab = Resources.Load("Prefabs/UI/DeviceItem");
for (int i = 0; i < classificationData.devices.Length; i++)
{
var inst = Instantiate(DeviceItemPrefab, DeviceContent);
inst.Init(classificationData.devices[i]);
}
}
///
/// 单击一级菜单事件
///
private void OnFirstTittleClick()
{
is_expanded = !is_expanded;
Expand.gameObject.SetActive(!is_expanded);
Collapse.gameObject.SetActive(is_expanded);
DeviceContent.gameObject.SetActive(is_expanded);
//刷新布局
LayoutRebuilder.ForceRebuildLayoutImmediate(ParentContent);
}
}