This commit is contained in:
2025-05-27 19:33:25 +09:00
parent 503947940e
commit 9d5966c4a2
8 changed files with 59 additions and 40 deletions

View File

@@ -156,9 +156,11 @@ namespace Studio.AssetTool
selectedAssetData.AddTransformToRender(selectedItem.transform); selectedAssetData.AddTransformToRender(selectedItem.transform);
CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform()); CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform());
selectRenderObject.transform.position = new Vector3(asset.position.x, asset.position.y, asset.position.z); selectRenderObject.LoadCreate(asset.code, asset.topic, asset.component, asset.isAutoCreate);
selectRenderObject.transform.eulerAngles = new Vector3(asset.rotation.x, asset.rotation.y, asset.rotation.z); var pos = new Vector3(asset.position.x, asset.position.y, asset.position.z);
selectRenderObject.transform.localScale = new Vector3(asset.scale.x, asset.scale.y, asset.scale.z); var angles = selectRenderObject.transform.eulerAngles = new Vector3(asset.rotation.x, asset.rotation.y, asset.rotation.z);
var scale = new Vector3(asset.scale.x, asset.scale.y, asset.scale.z);
selectRenderObject.SetTransform(pos, angles, scale);
} }
public void OnAssetSelected(AssetLibraryItem item) public void OnAssetSelected(AssetLibraryItem item)

View File

@@ -3,6 +3,7 @@ using Newtonsoft.Json.Linq;
using NUnit.Framework; using NUnit.Framework;
using Studio.Conifg; using Studio.Conifg;
using Studio.Core; using Studio.Core;
using Studio.Manage;
using Studio.Setting.Connect; using Studio.Setting.Connect;
using Studio.Util; using Studio.Util;
using System; using System;
@@ -83,6 +84,12 @@ namespace Studio
} }
public void ConnectMQTT(string domain, string port, List<Util.Topic> topics) public void ConnectMQTT(string domain, string port, List<Util.Topic> topics)
{ {
if (repository == null)
{
Init();
ManagerHub.instance.Get<RunManager>().onStop += DisConnectMQTT;
}
var conntedInfo = $"MQTT Domain : {domain} , MQTTPORT :{port}"; var conntedInfo = $"MQTT Domain : {domain} , MQTTPORT :{port}";
if (!topicTable.ContainsKey(conntedInfo)) if (!topicTable.ContainsKey(conntedInfo))
topicTable.Add(conntedInfo, new()); topicTable.Add(conntedInfo, new());
@@ -92,7 +99,7 @@ namespace Studio
repository.MQTTConnect(conntedInfo); repository.MQTTConnect(conntedInfo);
} }
public void DisConnectMQTT() private void DisConnectMQTT()
{ {
repository.DisConnectMQTT(); repository.DisConnectMQTT();
} }
@@ -179,6 +186,9 @@ namespace Studio
} }
else else
{ {
if (listenerIdMap[type][id] == listener)
return;
listenerIdMap[type][id] += listener; listenerIdMap[type][id] += listener;
} }
} }

View File

@@ -1,4 +1,4 @@
using NUnit.Framework; using NUnit.Framework;
using Studio.Conifg; using Studio.Conifg;
using Studio.Manage; using Studio.Manage;
using Studio.Util; using Studio.Util;
@@ -24,9 +24,6 @@ namespace Studio.Manage
public override void Init() public override void Init()
{ {
StudioService.instance.Init();
onRun += Dynamic.M.AGVManager.instance.OnPlayStart;
onStop += StudioService.instance.DisConnectMQTT;
} }
public void ChangeState() public void ChangeState()

View File

@@ -1,13 +1,11 @@
using System; using Studio.AssetTool;
using Studio.Core;
using Studio.Dynamic.TwinObject;
using Studio.Manage;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEngine; using UnityEngine;
using Studio.Dynamic.TwinObject;
using Studio.Core;
using Studio.Conifg;
using Studio.AssetTool;
using Studio.Util;
using Studio.Manage;
namespace Studio.Dynamic.Manager namespace Studio.Dynamic.Manager
{ {
@@ -42,7 +40,7 @@ namespace Studio.Dynamic.Manager
private void OnDataUpdate(object sender, StudioServiceTypeEventArgs e) private void OnDataUpdate(object sender, StudioServiceTypeEventArgs e)
{ {
var entities = e.Entitis; var entities = e.Entitis;
foreach(var entity in entities) foreach (var entity in entities)
{ {
var key = entity.Key; var key = entity.Key;
var value = entity.Value; var value = entity.Value;
@@ -51,27 +49,33 @@ namespace Studio.Dynamic.Manager
Debug.Log($"중복된 ID {key}"); Debug.Log($"중복된 ID {key}");
continue; continue;
} }
var item = CreateAGV(e.Type, key,value); var item = CreateAGV(e.Type, key, value);
SetRenderObject(item.GetComponent<CustomAssetRenderObject>());
agvs.Add(item); agvs.Add(item);
} }
} }
private AGV CreateAGV(string type, string id ,Dictionary<string,string> entity) private AGV CreateAGV(string type, string id, Dictionary<string, string> entity)
{ {
//var agv = ManagerHub.instance.Get<CustomAssetConnector>().CreateAsset(asset.assetData.assetName).AddComponent<AGV>(); var agv = ManagerHub.instance.Get<CustomAssetConnector>().CreateAsset(asset.assetData.assetName).AddComponent<AGV>();
//agv.gameObject.SetActive(true); agv.gameObject.SetActive(true);
//agv.transform.position = Vector3.zero; agv.transform.position = Vector3.zero;
//agv.name = id; agv.name = id;
//agv.SetMoveSpeed(AGVMoveSpeed); agv.SetMoveSpeed(AGVMoveSpeed);
//agv.SetRotateSpeed(AGVRotateSpeed); agv.SetRotateSpeed(AGVRotateSpeed);
//var xPos = entity.FirstOrDefault(x => x.Key.Equals("X", StringComparison.OrdinalIgnoreCase)); var xPos = entity.FirstOrDefault(x => x.Key.Equals("X", StringComparison.OrdinalIgnoreCase));
//var yPos = entity.FirstOrDefault(x => x.Key.Equals("Y", StringComparison.OrdinalIgnoreCase)); var yPos = entity.FirstOrDefault(x => x.Key.Equals("Y", StringComparison.OrdinalIgnoreCase));
//float.TryParse(xPos.Value, out var x); float.TryParse(xPos.Value, out var x);
//float.TryParse(yPos.Value, out var y); float.TryParse(yPos.Value, out var y);
//var pos = new Vector3(x * 0.001f, 0, y * 0.001f); var pos = new Vector3(x * 0.001f, 0, y * 0.001f);
//agv.Init(type,pos); agv.Init(type, pos);
return null; return agv;
}
private void SetRenderObject(CustomAssetRenderObject obj)
{
obj.LoadCreate(asset.renderObject.code, asset.renderObject.topic, asset.renderObject.componetKey, asset.renderObject.isAutoId);
} }
/// <summary> /// <summary>
@@ -83,26 +87,27 @@ namespace Studio.Dynamic.Manager
var agvKey = baseDatas.Keys.FirstOrDefault(x => x.Contains("AGV", StringComparison.OrdinalIgnoreCase)); var agvKey = baseDatas.Keys.FirstOrDefault(x => x.Contains("AGV", StringComparison.OrdinalIgnoreCase));
var agvDatas = baseDatas[agvKey].Entity; var agvDatas = baseDatas[agvKey].Entity;
foreach(var data in agvDatas) foreach (var data in agvDatas)
{ {
var id = data.FirstOrDefault(x => x.Key.Equals("ID", StringComparison.OrdinalIgnoreCase)); var id = data.FirstOrDefault(x => x.Key.Equals("ID", StringComparison.OrdinalIgnoreCase));
CreateAGV("AGV", id.Value, data); CreateAGV("AGV", id.Value, data);
} }
} }
public void SetCopyObject(bool isAuto ,CustomAssetRenderObject renderObject) public void SetCopyObject(bool isAuto, CustomAssetRenderObject renderObject)
{ {
if(isAuto) if (isAuto)
{ {
agvRenderObj = renderObject; agvRenderObj = renderObject;
//이벤트 걸어둔다.. //이벤트 걸어둔다..
//+= OnPlayStart ManagerHub.instance.Get<RunManager>().onRun += OnPlayStart;
} }
else else
{ {
agvRenderObj = null; agvRenderObj = null;
ManagerHub.instance.Get<RunManager>().onRun -= OnPlayStart;
//이벤트해제 //이벤트해제
//-= OnPlayStart //-= OnPlayStart
} }

View File

@@ -42,6 +42,7 @@ namespace Studio.Staic.STKC
public string BAY; public string BAY;
public string LEVEL; public string LEVEL;
private float startPos;
private float liftSpeed; private float liftSpeed;
private float bodySpeed; private float bodySpeed;
private float bodyProcess; private float bodyProcess;
@@ -88,7 +89,6 @@ namespace Studio.Staic.STKC
{ {
CurrentEntity = e.Entity; CurrentEntity = e.Entity;
BANK = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(BANK), StringComparison.OrdinalIgnoreCase)).Value; BANK = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(BANK), StringComparison.OrdinalIgnoreCase)).Value;
BAY = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(BAY), StringComparison.OrdinalIgnoreCase)).Value; BAY = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(BAY), StringComparison.OrdinalIgnoreCase)).Value;
LEVEL = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(LEVEL), StringComparison.OrdinalIgnoreCase)).Value; LEVEL = CurrentEntity.FirstOrDefault(x => x.Key.Equals(nameof(LEVEL), StringComparison.OrdinalIgnoreCase)).Value;
@@ -97,6 +97,8 @@ namespace Studio.Staic.STKC
var y = int.Parse(LEVEL); var y = int.Parse(LEVEL);
var z = int.Parse(BAY); var z = int.Parse(BAY);
if (x == 0 && y == 0 && z == 0)
startPos = transform.localPosition.z;
if (IsSameValue(x, y, z)) if (IsSameValue(x, y, z))
return; return;
@@ -104,7 +106,8 @@ namespace Studio.Staic.STKC
liftProcess = 0f; liftProcess = 0f;
bodyStart = transform.localPosition; bodyStart = transform.localPosition;
bodyEnd = bodyStart; bodyEnd = bodyStart;
bodyEnd.z = z; bodyEnd.z = startPos;
bodyEnd.z += z;
liftStartY = lift.position.y; liftStartY = lift.position.y;
liftEndY = y; liftEndY = y;

View File

@@ -1,5 +1,5 @@
using Studio.Dynamic.TwinObject; using Studio.Dynamic.TwinObject;
using Studio.Dynamic.M; using Studio.Dynamic.Manager;
using System.Collections.Generic; using System.Collections.Generic;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;

View File

@@ -272,6 +272,7 @@ namespace Studio.UI
void OnChangedID(string Id) void OnChangedID(string Id)
{ {
this.code = Id; this.code = Id;
singleSelectObject.name = Id;
singleSelectObject.ChangeConnectData(code, componetKey, topic, isAuto); singleSelectObject.ChangeConnectData(code, componetKey, topic, isAuto);
} }
public void SetObjectInfo(string name, List<GameObject> selectedObjects) public void SetObjectInfo(string name, List<GameObject> selectedObjects)

View File

@@ -61,6 +61,7 @@ namespace Studio
public void Open() public void Open()
{ {
SetItem(); SetItem();
autoIDCheck.gameObject.SetActive(false);
ActiveToggle(); ActiveToggle();
} }