Files
ChunilENG/Assets/WorkSpace/Personal/JYM/UI_MachineKPI.cs
2025-04-01 13:47:45 +09:00

88 lines
2.4 KiB
C#

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<UI_MachineKPI> 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);
}
}