Files
ChunilENG/Assets/Scripts/UI/UI_MachineInfoItem.cs
2025-04-17 16:36:08 +09:00

65 lines
1.5 KiB
C#

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<string, bool> onFavoritItem;
public IObjectPool<Component> 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;
}
}