87 lines
2.4 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|