using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; using UnityEngine.EventSystems; public class TechNodeUI : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { [SerializeField] private Image techImage; [SerializeField] Image techStatusImage; [SerializeField] Sprite techStatusLocked; [SerializeField] Sprite techStatusUnlocked; [SerializeField] Sprite techStatusResearching; [SerializeField] Sprite techStatusCompleted; [SerializeField] private TextMeshProUGUI techTitleText; [HideInInspector] public Technology technology; [SerializeField] private Image nodeImage; [SerializeField] private TechNodeConnector connector; [SerializeField] private Outline outline; public void Initialize(Technology tech) { technology = tech; techTitleText.text = tech.techName; techImage.sprite = tech.techImage; outline.effectColor = tech.techUIColor; if (tech.availabilityState == Technology.AvailabilityState.Locked) { nodeImage.color = Color.gray; techStatusImage.sprite = techStatusLocked; techStatusImage.color = Color.black; TechEvents.OnTechUnlocked += UnlockedTechnology; } GetComponent