하이어라키 저장, 불러오기 오류 수정

This commit is contained in:
정영민
2025-06-24 16:57:39 +09:00
parent d405525cc0
commit 6214a58c79
6 changed files with 20 additions and 9 deletions

View File

@@ -57,6 +57,7 @@ namespace Studio.Command
copyAsset.renderObject.onTransformChanged = copySource.assetData.OnTransformDataChanged;
copyAsset.renderObject.instantiateObject = copySource.assetData.InstantiateLoadedObject;
copyAsset.renderObject.CreateRenderObject();
copyAsset.hierarchyItem.linkedObject = copyObject;
copyAsset.renderObject.transform.position = copySource.renderObject.transform.position;
copyAsset.renderObject.transform.rotation = copySource.renderObject.transform.rotation;
copyAsset.renderObject.transform.localScale = copySource.renderObject.transform.localScale;
@@ -83,6 +84,7 @@ namespace Studio.Command
childAsset.renderObject.onTransformChanged = childAsset.assetData.OnTransformDataChanged;
childAsset.renderObject.instantiateObject = childSource.assetData.InstantiateLoadedObject;
childAsset.renderObject.CreateRenderObject();
childAsset.hierarchyItem.linkedObject = copyChildObject;
childAsset.renderObject.transform.position = childSource.renderObject.transform.position;
childAsset.renderObject.transform.rotation = childSource.renderObject.transform.rotation;
childAsset.renderObject.transform.localScale = childSource.renderObject.transform.localScale;

View File

@@ -130,6 +130,7 @@ namespace Studio.Manage
{
var projectManager = ManagerHub.instance.Get<ProjectManager>();
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
onSetAssetHierarchy?.Invoke(fbxFileManager.fileDatas);
if (projectManager.curProjectData == null || projectManager.curProjectData.assetDatas.Count <= 0)
@@ -137,15 +138,17 @@ namespace Studio.Manage
List<AssetData> assets = projectManager.curProjectData.assetDatas;
CommandInvoker.instance.Invoke(new RemoveAllObjectCommand());
//CommandInvoker.instance.Invoke(new RemoveAllObjectCommand());
Debug.Log(assets.Count);
foreach (AssetData asset in assets)
{
LoadAsset(asset);
}
Debug.Log(connector.connectedAssets.Count);
foreach (AssetData asset in assets)
{
RestoreHierarchy(asset);
}
}
@@ -153,12 +156,13 @@ namespace Studio.Manage
{
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
connector.OnLoadAsset(asset);
itemDict.TryAdd(asset.id, connector.connectedAssets.Last().hierarchyItem);
}
private void RestoreHierarchy(AssetData asset)
{
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
itemDict.TryAdd(asset.id, connector.connectedAssets.Last().hierarchyItem);
foreach (int id in asset.children)
{

View File

@@ -89,7 +89,11 @@ namespace Studio.AssetTool
assetData.thumbnail = thumbnail;
OnLoadComplete(assetData);
}
OnDirectoryLoadComplete();
if (filePaths.Count > 0)
{
OnDirectoryLoadComplete();
}
}
public void LoadLocalFBXDirectorys(List<string> folderPaths)
{

View File

@@ -40,7 +40,6 @@ namespace Studio.Manage
{
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
var assetManager = ManagerHub.instance.Get<AssetManager>();
var sceneSettingService = ManagerHub.instance.Get<SceneStartSettingManager>();
var sceneStartSetting = new SceneStartSetting();
@@ -54,8 +53,6 @@ namespace Studio.Manage
CommandInvoker.instance.Invoke(new RemoveAllObjectCommand());
fbxFileManager.ClearFilePaths();
assetManager.ClearFolderPathList();
assetManager.InitRessourceAsset();
}
public void TopMenuNewProjectSettingData()
{
@@ -106,6 +103,10 @@ namespace Studio.Manage
{
ResetProjectSettingData();
var assetManager = ManagerHub.instance.Get<AssetManager>();
assetManager.ClearFolderPathList();
assetManager.InitRessourceAsset();
curProjectName = proejctName;
curProjectPath = projectPath;
curProjectTemplate = string.Empty;

View File

@@ -90,7 +90,7 @@ namespace Studio.HierarchyTree
private void SetName()
{
nameText.text = currentItem.name;
CustomAssetRenderObject connectObj = currentItem.linkedObject?.GetComponent<CustomAssetRenderObject>();
CustomAssetRenderObject connectObj = currentItem.linkedObject.GetComponent<CustomAssetRenderObject>();
if (connectObj != null && !string.IsNullOrEmpty(connectObj.code))
{
nameText.text += $" ({connectObj.code})";

View File

@@ -14,7 +14,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_StringTable:
m_TableReference:
m_TableCollectionName: GUID:ab1e4fa9b84503341a204ed3ec095aa8
m_TableCollectionName: GUID:b7e3230909563f049a2b6af27abfd127
m_AssetTable:
m_TableReference:
m_TableCollectionName: