using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using WI; using TMPro; using static MQTT; using System; public class UI_MachineStatus : UIBase { public TextMeshProUGUI worknm; public TextMeshProUGUI status; public TextMeshProUGUI itemcd; public TextMeshProUGUI itemdesc; public TextMeshProUGUI wordno; public TextMeshProUGUI goalqty; public TextMeshProUGUI workqty; public TextMeshProUGUI goodqty; public TextMeshProUGUI badqty; public TextMeshProUGUI efficiency; public TextMeshProUGUI goaltime; public Image UI_StatusItem; public void SetStatusData(CompleteInfo completeInfo,Color color) { UI_StatusItem = GetComponent(); worknm.SetText(completeInfo.worknm); status.SetText(completeInfo.statusnm); SetStatusColor(completeInfo.statusnm); itemcd.SetText(completeInfo.itemcd); itemdesc.SetText(completeInfo.itemdesc); wordno.SetText(completeInfo.wordno); goaltime.SetText(completeInfo.goaltime); goalqty.SetText(RoundToIntData(completeInfo.goalqty)); workqty.SetText(RoundToIntData(completeInfo.workqty)); goodqty.SetText(RoundToIntData(completeInfo.goodqty)); badqty.SetText(RoundToIntData(completeInfo.badqty)); efficiency.SetText(RoundToFloatData(completeInfo.efficiency)); UI_StatusItem.color = color; } public string RoundToIntData(string data) { float.TryParse(data, out var floatData); var intData = Mathf.RoundToInt(floatData); return intData.ToString(); } public string RoundToFloatData(string data) { float.TryParse(data, out var floatData); var truncateData = Math.Truncate(floatData * 10) / 10; return truncateData.ToString(); } void SetStatusColor(string stat) { switch (stat) { case "°¡µ¿Áß": status.color = new Color(0, 1f, 0.3568628f); break; case "ºñ°¡µ¿": status.color = new Color(1f, 0, 0); break; case "°èȹÁ¤Áö": status.color = new Color(1f, 1f, 1f); break; default: status.color = new Color(1f, 0.3411765f, 0); break; } } }