Files
XRLib/Assets/Scripts/Simulator/PropertyWindow/PlayerPropertyDataBase.cs
2026-02-03 11:40:26 +09:00

88 lines
2.1 KiB
C#

using Simulator.Data.Transport;
using System;
using UnityEngine;
using UVC.Core;
public class PlayerPropertyDataBase : SingletonScene<PlayerPropertyDataBase>
{
public PlayPropertyData data=new PlayPropertyData();
public event Action<PlayPropertyData> onPlay;
public static bool isPlaying = false;
public void PlayFunc()
{
onPlay?.Invoke(data);
isPlaying = true;
}
public void CollectGenerateData(int count)
{
data.total_Generate += count;
}
public void CollectUseData(int count)
{
data.total_Use += count;
}
public void CollectTotalAGVData(int count)
{
data.agv_Total += count;
}
public void CollectMovingAGVData(int count)
{
data.agv_Moving += count;
}
public void CollectIdleData(int count)
{
data.agv_Idle += count;
}
public void CollectLoadingData(int count)
{
data.agv_Loading += count;
}
public void CollectSpawnAGV(AGV agv)
{
CollectTotalAGVData(1);
CollectIdleData(1);
agv.onStateUpdated += CollectChangeAGVStateData;
}
public void CollectChangeAGVStateData(AGVDataType before, AGVDataType after)
{
switch (before)
{
case AGVDataType.Idle:
CollectIdleData(-1);
break;
case AGVDataType.LoadingStart:
CollectLoadingData(-1);
break;
case AGVDataType.UnLoadingStart:
CollectLoadingData(-1);
break;
case AGVDataType.Moving:
CollectMovingAGVData(-1);
break;
}
switch (after)
{
case AGVDataType.Idle:
CollectIdleData(1);
break;
case AGVDataType.LoadingStart:
CollectLoadingData(1);
break;
case AGVDataType.UnLoadingStart:
CollectLoadingData(1);
break;
case AGVDataType.Moving:
CollectMovingAGVData(1);
break;
}
}
}