AGV 정보 창

This commit is contained in:
geondo55
2025-05-26 19:13:46 +09:00
parent 7006c70270
commit 1d629af7ee
4 changed files with 19 additions and 45 deletions

View File

@@ -120,6 +120,17 @@ namespace Studio.AssetTool
}
}
public GameObject CreateAsset(string name)
{
AssetLibraryItem item = assetScrollView.FindItem("Palletrobot", AssetLibraryItemType.file);
OnAssetSelected(item);
GameObject obj = selectRenderObject.gameObject;
OnAssetDropped(item);
return obj;
}
public void OnAssetSelected(AssetLibraryItem item)
{
if (item == null || item.linkedObject == null)
@@ -146,44 +157,6 @@ namespace Studio.AssetTool
selectedAssetData.AddTransformToRender(selectedItem.transform);
CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform());
}
public GameObject OnCreateAsset(string name)
{
AssetLibraryItem item = assetScrollView.FindItem(name, AssetLibraryItemType.file);
if (item == null || item.linkedObject == null)
{
selectedAssetData = null;
return null;
}
selectedAssetData = item.linkedObject.GetComponent<CustomAssetData>();
if (selectedAssetData == null || selectedAssetData.isLoadComplete == false)
{
selectedAssetData = null;
return null;
}
selectedItem = UnityEngine.GameObject.Instantiate(renderObjectPrefab);
selectRenderObject = selectedItem.GetComponent<CustomAssetRenderObject>();
//selectRenderObject.OnOverlabBegin += interferedObjectManager.AddInterferedPair;
//selectRenderObject.OnOverlabEnd += interferedObjectManager.RemoveInterferedPair;
selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate;
selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject;
selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary;
selectRenderObject.CreateRenderObject();
selectedAssetData.AddTransformToRender(selectedItem.transform);
ConnectedAsset connectedAsset = new ConnectedAsset
{
assetData = selectedAssetData,
hierarchyItem = componentScrollView.AddItem(selectedAssetData.assetName, selectedItem, HierarchyItemType.obj),
renderObject = selectRenderObject
};
connectedAsset.renderObject.onTransformChanged = connectedAsset.assetData.OnTransformDataChanged;
var command = new CreateConnectedAssetCommand(connectedAsset);
CommandInvoker.instance.Invoke(command);
selectedAssetData = null;
return connectedAsset.hierarchyItem.linkedObject;
}
public void OnAssetDropped(AssetLibraryItem item)
{
if (selectedAssetData == null)
@@ -282,7 +255,7 @@ namespace Studio.AssetTool
var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
canvas_Popup.panel_objectinfo.SetObjectInfo(name, selectedObjects);
canvas_Popup.panel_objectinfo.SetActive(true);
canvas_Popup.panel_agv.SetTarget(selectedObjects[0]);
canvas_Popup.panel_agv.SetTarget(selectedObjects);
canvas_Popup.panel_objectdistance.SelectObjectFromClick(name, selectedObjects);
}
}

View File

@@ -54,7 +54,7 @@ namespace Studio.Dynamic.M
private AGV CreateAGV(string type, string id ,Dictionary<string,string> entity)
{
var agv = ManagerHub.instance.Get<CustomAssetConnector>().OnCreateAsset("AGV").GetComponent<AGV>();
var agv = ManagerHub.instance.Get<CustomAssetConnector>().CreateAsset("AGV").AddComponent<AGV>();
//var agv = Instantiate<AGV>(prf_AGV,transform);
agv.transform.position = Vector3.zero;
agv.name = id;

View File

@@ -39,8 +39,13 @@ namespace Studio.UI
}
}
internal void SetTarget(GameObject selectedObject)
internal void SetTarget(List<GameObject> selectedObjects)
{
if (selectedObjects.Count == 0)
return;
GameObject selectedObject = selectedObjects[0];
if (selectedObject.TryGetComponent<AGV>(out AGV agv))
{
StudioService.instance.RemoveTypeIdListener("AGV", targetId);