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