gather-and-defend/Assets/Scripts/SkillTree/SkillTreeItemDisplay.cs
2025-09-30 10:12:02 -04:00

61 lines
1.7 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)
{
if (PlayerPrefs.GetInt("skill " + _data.SkillID) != 0)
{
Debug.Log("Tu as déjà ce skill");
}
else
{
_popUpConf.SetActive(true);
_popUpManager.PressedSkill(_data);
Debug.Log("Clicked!");
}
}
}