64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using XRLib.UI;
|
|
|
|
namespace Studio.UI
|
|
{
|
|
public class UI_LogicItem : UIBase
|
|
{
|
|
public Button Button_Edit;
|
|
public Button Button_Remove;
|
|
public Button Button_Add;
|
|
|
|
public TextMeshProUGUI Text_Title;
|
|
|
|
public Action<UI_LogicItem> onClickAdd;
|
|
public Action<ELogic> onClickEdit;
|
|
public Action<UI_LogicItem> onClickRemove;
|
|
|
|
private ELogic currentLogic;
|
|
|
|
public void Awake()
|
|
{
|
|
Button_Edit = transform.Find(nameof(Button_Edit)).GetComponent<Button>();
|
|
Button_Remove = transform.Find(nameof(Button_Remove)).GetComponent<Button>();
|
|
Button_Add = transform.Find(nameof(Button_Add)).GetComponent<Button>();
|
|
Text_Title = transform.Find(nameof(Text_Title)).GetComponent<TextMeshProUGUI>();
|
|
|
|
Button_Edit.onClick.AddListener(OnClickEdit);
|
|
Button_Remove.onClick.AddListener(OnClickRemove);
|
|
Button_Add.onClick.AddListener(OnClickAdd);
|
|
|
|
Button_Edit.gameObject.SetActive(false);
|
|
Button_Remove.gameObject.SetActive(false);
|
|
}
|
|
|
|
private void OnClickEdit()
|
|
{
|
|
onClickEdit?.Invoke(currentLogic);
|
|
}
|
|
|
|
private void OnClickRemove()
|
|
{
|
|
onClickRemove?.Invoke(this);
|
|
}
|
|
|
|
private void OnClickAdd()
|
|
{
|
|
onClickAdd?.Invoke(this);
|
|
}
|
|
|
|
public void OnSelectLogic(ELogic logic)
|
|
{
|
|
currentLogic = logic;
|
|
Text_Title.text = logic.GetDescription();
|
|
Button_Add.gameObject.SetActive(false);
|
|
Button_Edit.gameObject.SetActive(true);
|
|
Button_Remove.gameObject.SetActive(true);
|
|
Text_Title.gameObject.SetActive(true);
|
|
}
|
|
}
|
|
}
|