using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.Pool; using UnityEngine.UI; using UnityEngine.EventSystems; using WI; public class UI_MachineInfoItem : UIBase,IPooledObject, IPointerEnterHandler, IPointerExitHandler { TextMeshProUGUI InfoName; TextMeshProUGUI Data; Toggle Toggle_Check; public Action onFavoritItem; public IObjectPool Pool { get ; set ; } public override void AfterAwake() { Toggle_Check.onValueChanged.AddListener(OnToggleFavoritClick); } public void Setting(string tag, string info) { InfoName.text = tag; Data.SetText(info); transform.localScale = Vector3.one; } public void Lock() { Toggle_Check.interactable = false; } public void Unlock() { Toggle_Check.interactable = true; } public void ToggleIsOn(bool isOn) { Toggle_Check.SetIsOnWithoutNotify(isOn); } private void OnToggleFavoritClick(bool isOn) { onFavoritItem?.Invoke(InfoName.text, isOn); } public void OnPointerEnter(PointerEventData eventData) { var color = Toggle_Check.image.color; color.a = 0.5f; Toggle_Check.image.color = color; } public void OnPointerExit(PointerEventData eventData) { var color = Toggle_Check.image.color; color.a = 0f; Toggle_Check.image.color = color; } }