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; public GameObject inputPort; public GameObject outputPort; public void SetComponent(ASRSDataClass asrsData) { this.asrsData = asrsData; data = asrsData; SetRack(asrsData.asrs_layout); SetStackerCrane(asrsData.asrs_layout); FitCollider(); 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); } 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); } if (string.Equals(name, "receiving_request_added")) { rack.SetASRSQueue(modelData); } } public void SetRack(rack_layout layout) { rack.SpawnCell(layout,true); } void SetStackerCrane(rack_layout layout) { stacker.SetPosition(layout); } }