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

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

View File

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

View File

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

View File

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

View File

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

View File

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