gather-and-defend/Assets/SkillTreeItemDisplay.cs
2024-11-14 11:01:21 -05:00

54 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using TMPro;
using UnityEditor.SearchService;
public class SkillTreeItemDisplay : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
[SerializeField]
SkillTreeItem _data;
public SkillTreeItem Data {get => _data; set => _data = value; }
public SkillTreeInfoDisplay _displayInfo;
private RectTransform _rectTransform;
public SkillTreePopUpManager _popUpManager;
public GameObject _popUpConf;
private Vector2 size;
public List<UILineRenderer> RelatedLines { get; } = new();
private void Start()
{
_rectTransform = GetComponent<RectTransform>();
size = _rectTransform.sizeDelta;
_displayInfo = FindAnyObjectByType<SkillTreeInfoDisplay>();
_popUpManager = _popUpConf.GetComponent<SkillTreePopUpManager>();
_popUpConf.SetActive(false);
}
public void OnPointerExit(PointerEventData eventData)
{
RelatedLines.ForEach(line => line.Deselect());
_rectTransform.sizeDelta = size;
_displayInfo.RemoveData();
}
public void OnPointerEnter(PointerEventData eventData)
{
RelatedLines.ForEach(line => line.Select());
_rectTransform.sizeDelta = size * 1.05f;
_displayInfo.DisplayData(_data);
}
public void OnPointerClick(PointerEventData eventData)
{
_popUpConf.SetActive(true);
_popUpManager.PressedSkill(_data);
Debug.Log("Clicked!");
}
}