using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.UI; namespace BrewMonster.PerfectWorld.Scripts.Task.UI { public class TaskTreeViewItem : MonoBehaviour, IPointerClickHandler { [SerializeField] private TMP_Text m_text; [SerializeField] private Button m_Button; [Header("DEBUG")] [SerializeField] private uint m_uItemData; public UnityEvent OnClick = new UnityEvent(); public void SetItemData(uint uItemData) { m_uItemData = uItemData; gameObject.name = $"Task_{uItemData}"; } public uint GetItemData() { return m_uItemData; } public void SetItemTextColor(Color color) { if (m_text != null) { m_text.color = color; } } public void SetItemText(string text) { if (m_text != null) { m_text.text = text; } } public void OnPointerClick(PointerEventData eventData) { OnClick.Invoke(m_uItemData); EventBus.Publish(new TaskItemClickEvent() { Data = m_uItemData }); // TaskWindow.Instance.OnEventLButtonDown_Tv_Quest(m_uItemData); } } public struct TaskItemClickEvent { public uint Data; public TaskItemClickEvent(uint data) { Data = data; } } }