using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; using UnityEngine.EventSystems; using WI; using System; public class UI_MachineKPI : UIBase, IPointerClickHandler { public KPIData data; public RectTransform DefaultKPI; public RectTransform DetailsKPI; private TextMeshProUGUI Default_machineName; private TextMeshProUGUI Details_machineName; private TextMeshProUGUI Default_eorate; private TextMeshProUGUI Details_eorate; private TextMeshProUGUI porate; private TextMeshProUGUI goodqtyrate; private TextMeshProUGUI lct; private TextMeshProUGUI wct; public bool isExpand; private float eorate; public Action onClickKPI; public void SetData(KPIData kpiData) { data = kpiData; eorate = DecimalPointCalculate(kpiData.eorate); Default_machineName.SetText(kpiData.worknm); Details_machineName.SetText(kpiData.worknm); Default_eorate.SetText(eorate.ToString() + "%"); Details_eorate.SetText(eorate.ToString() + "%"); lct.SetText(DecimalPointCalculate(kpiData.lct).ToString()); wct.SetText(DecimalPointCalculate(kpiData.wct).ToString()); goodqtyrate.SetText(DecimalPointCalculate(kpiData.goodqtyrate).ToString()); porate.SetText(DecimalPointCalculate(kpiData.porate).ToString()); DetailsKPI.gameObject.SetActive(false); } private float DecimalPointCalculate(string value) { var originFloatValue = float.Parse(value); var floatValue = Mathf.Round(originFloatValue * 10f) / 10f; return floatValue; } public void OnPointerClick(PointerEventData eventData) { onClickKPI?.Invoke(this); } public void Expand() { if (!isExpand) { DefaultKPI.gameObject.SetActive(false); DetailsKPI.gameObject.SetActive(true); isExpand = true; } } public void Shrink() { if (isExpand) { DefaultKPI.gameObject.SetActive(true); DetailsKPI.gameObject.SetActive(false); isExpand = false; } } public void Active() { gameObject.SetActive(true); } public void Deactive() { DefaultKPI.gameObject.SetActive(true); DetailsKPI.gameObject.SetActive(false); isExpand = false; gameObject.SetActive(false); } }