Files
ChunilENG/Assets/Scripts/UI/Panel_ProductionStatus.cs
2025-03-14 09:15:16 +09:00

83 lines
2.0 KiB
C#

using CHN;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using WI;
using static MQTT;
public class Panel_ProductionStatus : PanelBase
{
TextMeshProUGUI Text_DayAndTime;
TextMeshProUGUI worknm;
TextMeshProUGUI status;
TextMeshProUGUI goalqty;
TextMeshProUGUI workqty;
TextMeshProUGUI goodqty;
TextMeshProUGUI badqty;
ProductionStatusManager productionStatusManager;
[SerializeField]
float loopTime = 3;
float waitTime;
int productionStatusInfoNum;
public override void AfterAwake()
{
productionStatusManager = FindSingle<ProductionStatusManager>();
}
public override void AfterStart()
{
SetProductionStatus();
}
private void Update()
{
UpdateDayAndTime();
waitTime += Time.deltaTime;
if (waitTime > loopTime)
{
productionStatusInfoNum += 1;
if (productionStatusInfoNum > productionStatusManager.productionStatusInfos.Count)
{
productionStatusInfoNum = 0;
}
SetProductionStatus();
waitTime = 0;
}
}
void SetProductionStatus()
{
List<CompleteInfo> completeInfos = productionStatusManager.productionStatusInfos;
CompleteInfo completeInfo = completeInfos[productionStatusInfoNum];
worknm.SetText(completeInfo.worknm);
status.SetText(completeInfo.statusnm);
goalqty.SetText(RoundToIntData(completeInfo.goalqty));
workqty.SetText(RoundToIntData(completeInfo.workqty));
goodqty.SetText(RoundToIntData(completeInfo.goodqty));
badqty.SetText(RoundToIntData(completeInfo.badqty));
}
string RoundToIntData(string data)
{
var floatData = float.Parse(data);
var intData = Mathf.RoundToInt(floatData);
return intData.ToString();
}
void UpdateDayAndTime()
{
string currentTime = DateTime.Now.ToString("yyyy.MM.dd HH:mm");
Text_DayAndTime.SetText(currentTime);
}
}