69 lines
2.1 KiB
C#
69 lines
2.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using XRLib;
|
|
using XRLib.UI;
|
|
|
|
namespace Studio
|
|
{
|
|
public class UI_HierarchyItem : UIBase
|
|
{
|
|
public Button button_selectitem;
|
|
public event Action<UI_HierarchyItem> onClick;
|
|
public event Action<UI_HierarchyItem> onDestroy;
|
|
|
|
|
|
// Start is called before the first frame update
|
|
public void Set(TreeItem Treeitem)
|
|
{
|
|
var item = Treeitem;
|
|
var toitem = Treeitem.ToItem;
|
|
item.onDestroyTreeItem += DestroyItemView;
|
|
|
|
TextMeshProUGUI text_name = Find<TextMeshProUGUI>(nameof(text_name));
|
|
text_name.SetText(toitem.name);
|
|
|
|
Toggle toggle_display = Find<Toggle>(nameof(toggle_display));
|
|
toggle_display.onValueChanged.AddListener(toitem.SetDisplayable);
|
|
|
|
Toggle toggle_interactible = Find<Toggle>(nameof(toggle_interactible));
|
|
toggle_interactible.onValueChanged.AddListener(toitem.SetInteractible);
|
|
|
|
Toggle toggle_expand = Find<Toggle>(nameof(toggle_expand));
|
|
toggle_expand.onValueChanged.AddListener(item.OnExpand);
|
|
|
|
button_selectitem = Find<Button>(nameof(button_selectitem));
|
|
button_selectitem.onClick.AddListener(OnClickItem);
|
|
|
|
toitem.IsDisplayable = !toggle_display.isOn;
|
|
toitem.IsInteractible = !toggle_interactible.isOn;
|
|
}
|
|
|
|
void OnClickItem()
|
|
{
|
|
onClick?.Invoke(this);
|
|
}
|
|
public void ActiveHighlight()
|
|
{
|
|
//var option = FindSingle<OptionManager>().hierarchyItemOption;
|
|
|
|
//button_selectitem.image.color = option.selectColor;
|
|
}
|
|
public void DeactvieHighlight()
|
|
{
|
|
//var option = FindSingle<OptionManager>().hierarchyItemOption;
|
|
|
|
//button_selectitem.image.color = option.unselectColor;
|
|
}
|
|
|
|
void DestroyItemView()
|
|
{
|
|
onDestroy?.Invoke(this);
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
}
|