Files
ChunilENG/Assets/WorkSpace/Review/UI_CompleteTimeAlarmInfo.cs
2025-02-24 18:48:14 +09:00

87 lines
2.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using WI;
using TMPro;
using UnityEngine.UI;
using static MQTT;
using UnityEngine.EventSystems;
using System;
namespace CHN
{
public enum MachineStatusnm
{
,
,
}
public class UI_CompleteTimeAlarmInfo : UIBase, IPointerEnterHandler
{
public MachineStatusnm statusnm;
public CompleteInfo completeInfo;
public TextMeshProUGUI Worknm;
public TextMeshProUGUI Progressrate;
public TextMeshProUGUI Ptotm;
public TextMeshProUGUI Statusnm;
public bool isCheck;
public Action<UI_CompleteTimeAlarmInfo> onCheck;
public void SetInfo(CompleteInfo completeInfo)
{
this.completeInfo = completeInfo;
var progressrate = DecimalRoundingCalculate(completeInfo.progressrate) + "%";
Worknm.SetText(completeInfo.worknm);
Progressrate.SetText(progressrate.ToString());
Ptotm.SetText(completeInfo.ptotm);
Statusnm.SetText(completeInfo.statusnm);
StatusSetColor();
}
private int DecimalRoundingCalculate(string value)
{
var originFloatValue = float.Parse(value);
int intValue = Mathf.RoundToInt(originFloatValue);
if (intValue >= 100)
{
intValue = 100;
}
return intValue;
}
private void StatusSetColor()
{
var color = Color.white;
var status = MachineStatusnm.;
if(Enum.TryParse(completeInfo.statusnm, out status))
{
switch (status)
{
case MachineStatusnm.:
color = Color.green;
break;
case MachineStatusnm.:
color = Color.red;
break;
case MachineStatusnm.:
color = Color.white;
break;
}
}
else
{
color = new Color(255, 86, 0, 255);
}
Statusnm.color = color;
}
public void OnPointerEnter(PointerEventData eventData)
{
isCheck = true;
onCheck?.Invoke(this);
}
}
}