라이브러리 정리
This commit is contained in:
74
Assets/Scripts/Factory/Component/TestObject.cs
Normal file
74
Assets/Scripts/Factory/Component/TestObject.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using FactorySample;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UVC.Core;
|
||||
using UVC.Data;
|
||||
using UVC.Data.Core;
|
||||
using UVC.Data.Mqtt;
|
||||
|
||||
namespace UVC.Factory.Component
|
||||
{
|
||||
public class TestObject: MonoBehaviour
|
||||
{
|
||||
void Start()
|
||||
{
|
||||
var agvDataMask = new DataMask();
|
||||
agvDataMask.ObjectName = "AGV_RECIPE"; // AGV 객체의 이름을 설정합니다.
|
||||
agvDataMask.ObjectIdKey = "VHL_NAME"; // AGV의 고유 식별자로 사용할 키를 설정합니다.
|
||||
//agvDataMask["VHL_NAME"] = "";
|
||||
//agvDataMask["AGV_IDX"] = "";
|
||||
//agvDataMask["B_INSTALL"] = "";
|
||||
//agvDataMask["NODE_ID"] = "";
|
||||
//agvDataMask["REAL_ID"] = "";
|
||||
//agvDataMask["VHL_STATE"] = "";
|
||||
//agvDataMask["BAY_LIST"] = "";
|
||||
//agvDataMask["X"] = 0;
|
||||
//agvDataMask["Y"] = 0;
|
||||
//agvDataMask["DEGREE"] = 0.0;
|
||||
//agvDataMask["MODE"] = "";
|
||||
//agvDataMask["BATT"] = "";
|
||||
//agvDataMask["SUB_GOAL"] = "";
|
||||
//agvDataMask["FINAL_GOAL"] = "";
|
||||
//agvDataMask["JOB_ID"] = "";
|
||||
//agvDataMask["CARRIER_ID"] = "";
|
||||
//agvDataMask["TIMESTAMP"] = DateTime.Now;
|
||||
|
||||
DataMapper mapper = new DataMapper(agvDataMask);
|
||||
|
||||
var mqttConfig = new MqttSubscriptionConfig("AGV_RECIPE");
|
||||
mqttConfig.SetDataMapper(mapper);
|
||||
|
||||
// 생성한 파이프라인 정보를 전역 MQTT 파이프라인에 추가합니다.
|
||||
DataRepository.Instance.MqttReceiver.Add(mqttConfig);
|
||||
|
||||
SceneMain.Instance.Initialized += OnSceneInitialized;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 씬이 완전히 초기화된 후 호출됩니다.
|
||||
/// AGV 데이터를 수신하기 위한 MQTT 파이프라인을 설정합니다.
|
||||
/// </summary>
|
||||
private void OnSceneInitialized()
|
||||
{
|
||||
//playback에서도 데이터를 업데이트 하기에 DataRepository에 핸들러를 추가합니다.
|
||||
DataRepository.Instance.AddDataUpdateHandler("AGV_RECIPE", OnUpdateData);
|
||||
}
|
||||
|
||||
public void OnUpdateData(IDataObject data)
|
||||
{
|
||||
if (data == null) return;
|
||||
|
||||
DataArray? arr = data as DataArray;
|
||||
if (arr == null || arr.Count == 0) return;
|
||||
|
||||
|
||||
// 데이터 배열에서 추가, 제거, 수정된 항목 리스트를 가져옵니다.
|
||||
var AddedItems = arr.AddedItems;
|
||||
var RemovedItems = arr.RemovedItems;
|
||||
var ModifiedList = arr.ModifiedList;
|
||||
|
||||
Debug.Log($"TestObject received data: count:{arr.Count}, Added={AddedItems.Count}, Removed={RemovedItems.Count}, Modified={ModifiedList.Count}");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user