Production Status 완

This commit is contained in:
jmaniuvc
2025-03-14 10:32:35 +09:00
parent 28b44f8757
commit 5e59c1168e
5 changed files with 2046 additions and 15 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a74d4a3b763fd8d438c7fff5d89e9430
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -37,8 +37,16 @@ namespace CHN
SetFloorInfo(building.floors[0], completeInfo, firstFloorInfo);
SetFloorInfo(building.floors[1], completeInfo, secondFloorInfo);
}
onFirstFloorInfo?.Invoke(firstFloorInfo.Values.ToList());
onSecondFloorInfo?.Invoke(secondFloorInfo.Values.ToList());
List<CompleteInfo> firstFloorInfoList = firstFloorInfo.Values.ToList();
List<CompleteInfo> secondFloorInfoList = secondFloorInfo.Values.ToList();
productionStatusInfos.Clear();
productionStatusInfos.AddRange(firstFloorInfoList);
productionStatusInfos.AddRange(secondFloorInfoList);
onFirstFloorInfo?.Invoke(firstFloorInfoList);
onSecondFloorInfo?.Invoke(secondFloorInfoList);
}
public void SetFloorInfo(Floor floor, CompleteInfo completeInfo, Dictionary<string, CompleteInfo> floorInfo)
{

View File

@@ -9,5 +9,6 @@ namespace CHN
{
public Panel_TopToolBar panel_toptoolbar;
public Panel_ToolBar panel_toolbar;
public Panel_ProductionStatus panel_productionstatus;
}
}

View File

@@ -23,43 +23,43 @@ public class Panel_ProductionStatus : PanelBase
float loopTime = 3;
float waitTime;
int productionStatusInfoNum;
public int productionStatusInfoNum = 0;
public override void AfterAwake()
{
productionStatusManager = FindSingle<ProductionStatusManager>();
}
public override void AfterStart()
{
SetProductionStatus();
}
private void Update()
{
UpdateDayAndTime();
List<CompleteInfo> completeInfos = productionStatusManager.productionStatusInfos;
if (completeInfos.Count == 0)
return;
CompleteInfo completeInfo = completeInfos[productionStatusInfoNum];
waitTime += Time.deltaTime;
if (waitTime > loopTime)
{
SetPanelText(completeInfo);
productionStatusInfoNum += 1;
if (productionStatusInfoNum > productionStatusManager.productionStatusInfos.Count)
if (productionStatusInfoNum >= productionStatusManager.productionStatusInfos.Count)
{
productionStatusInfoNum = 0;
}
SetProductionStatus();
waitTime = 0;
}
}
void SetProductionStatus()
void SetPanelText(CompleteInfo completeInfo)
{
List<CompleteInfo> completeInfos = productionStatusManager.productionStatusInfos;
CompleteInfo completeInfo = completeInfos[productionStatusInfoNum];
worknm.SetText(completeInfo.worknm);
status.SetText(completeInfo.statusnm);
SetStatusColor(completeInfo.statusnm);
goalqty.SetText(RoundToIntData(completeInfo.goalqty));
workqty.SetText(RoundToIntData(completeInfo.workqty));
goodqty.SetText(RoundToIntData(completeInfo.goodqty));
@@ -74,6 +74,25 @@ public class Panel_ProductionStatus : PanelBase
return intData.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;
}
}
void UpdateDayAndTime()
{
string currentTime = DateTime.Now.ToString("yyyy.MM.dd HH:mm");