Files
XRLib/Assets/Scripts/Simulator/Components/ASRS/ASRSComponent.cs

58 lines
1.6 KiB
C#
Raw Normal View History

2025-11-04 11:02:02 +09:00
using Gpm.Ui.Sample;
using Simulator.Data;
using System.Collections.Generic;
using System.Security.Cryptography;
using UnityEngine;
using UVC.Data.Core;
public class ASRSComponent : ComponentBase
{
ASRSDataClass asrsData = new ASRSDataClass();
public RackComponent rack;
public StackerCrane stacker;
2025-11-11 19:00:24 +09:00
public GameObject inputPort;
public GameObject outputPort;
2025-11-04 11:02:02 +09:00
public void SetComponent(ASRSDataClass asrsData)
{
this.asrsData = asrsData;
data = asrsData;
SetRack(asrsData.asrs_layout);
SetStackerCrane(asrsData.asrs_layout);
2025-11-11 12:13:51 +09:00
FitCollider();
2025-11-11 19:00:24 +09:00
inputPort.transform.localPosition = new Vector3(asrsData.asrs_layout.x_length * -2, 0, 0);
outputPort.transform.localPosition = new Vector3(asrsData.asrs_layout.x_length * (asrsData.asrs_layout.x+1), 0, 0);
2025-11-04 11:02:02 +09:00
}
public override void GetModelData(DataObject modelData)
{
var name = modelData.GetString("event_name");
if (string.Equals(name,"moving"))
{
stacker.SetTargetPosition(modelData,rack);
}
if (string.Equals(name, "fork_operation"))
{
stacker.SetForkPosition(modelData,rack);
}
if (string.Equals(name, "arrived"))
{
rack.GetModelData(modelData);
}
2025-11-11 09:42:47 +09:00
if (string.Equals(name, "receiving_request_added"))
{
rack.SetASRSQueue(modelData);
}
2025-11-04 11:02:02 +09:00
}
public void SetRack(rack_layout layout)
{
rack.SpawnCell(layout,true);
}
void SetStackerCrane(rack_layout layout)
{
stacker.SetPosition(layout);
}
}