기본 에셋이 Asset 정보창에 표시되지 않는 오류 수정 #185

Merged
UVCXR merged 1 commits from jym/250627_00 into main 2025-06-27 12:40:51 +09:00
4 changed files with 34 additions and 19 deletions

View File

@@ -1805,6 +1805,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f9c6f8c6f0c462a4ab09d615c0d0db6c, type: 3} m_Script: {fileID: 11500000, guid: f9c6f8c6f0c462a4ab09d615c0d0db6c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
header: {fileID: 0}
Area: {fileID: 0} Area: {fileID: 0}
state: 0 state: 0
resizeDirection: 0 resizeDirection: 0
@@ -2512,7 +2513,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1098354475033513177 --- !u!224 &1098354475033513177
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -27,6 +27,8 @@ namespace Studio.Manage
public class AssetManager : Manager public class AssetManager : Manager
{ {
public List<string> localAssetPaths = new List<string>(); public List<string> localAssetPaths = new List<string>();
private List<AssetData> loadAsset = new List<AssetData>();
private List<HierarchyItem> loadHierarchy = new List<HierarchyItem>();
private List<string> folderPathList = new List<string>(); private List<string> folderPathList = new List<string>();
private Dictionary<int, HierarchyItem> itemDict = new Dictionary<int, HierarchyItem>(); private Dictionary<int, HierarchyItem> itemDict = new Dictionary<int, HierarchyItem>();
@@ -67,9 +69,12 @@ namespace Studio.Manage
{ {
localAssetPaths.Clear(); localAssetPaths.Clear();
folderPathList.Clear(); folderPathList.Clear();
loadAsset.Clear();
loadHierarchy.Clear();
} }
public void LoadAssetSettingFBXDirectorys(int index, string folderPath) public void LoadAssetSettingFBXDirectorys(int index, string folderPath)
{ {
Debug.Log("에셋 폴더 로드");
if (!assetSettingPaths.ContainsKey(index)) if (!assetSettingPaths.ContainsKey(index))
{ {
assetSettingPaths.Add(index, folderPath); assetSettingPaths.Add(index, folderPath);
@@ -116,6 +121,7 @@ namespace Studio.Manage
public void LoadLocalFBXDirectorys() public void LoadLocalFBXDirectorys()
{ {
Debug.Log("로컬 fbx 폴더 로드");
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>(); var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
fbxFileManager.LoadLocalFBXDirectorys(folderPathList); fbxFileManager.LoadLocalFBXDirectorys(folderPathList);
var assetManagerData = new AssetManagerData(); var assetManagerData = new AssetManagerData();
@@ -126,11 +132,15 @@ namespace Studio.Manage
onSetAssetSetting?.Invoke(data); onSetAssetSetting?.Invoke(data);
} }
private void OnSetAssetHierarchyData()
{
}
private void OnLoadCustomAsset() private void OnLoadCustomAsset()
{ {
var projectManager = ManagerHub.instance.Get<ProjectManager>(); var projectManager = ManagerHub.instance.Get<ProjectManager>();
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
var connector = ManagerHub.instance.Get<CustomAssetConnector>(); var connector = ManagerHub.instance.Get<CustomAssetConnector>();
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
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)
@@ -148,19 +158,24 @@ namespace Studio.Manage
Debug.Log(connector.connectedAssets.Count); Debug.Log(connector.connectedAssets.Count);
foreach (AssetData asset in assets) foreach (AssetData asset in assets)
{ {
RestoreHierarchy(asset); RestoreHierarchy(asset);
} }
} }
private void LoadAsset(AssetData asset) private void LoadAsset(AssetData asset)
{
if (!loadAsset.Contains(asset))
{ {
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); itemDict.TryAdd(asset.id, connector.connectedAssets.Last().hierarchyItem);
loadAsset.Add(asset);
}
} }
private void RestoreHierarchy(AssetData asset) private void RestoreHierarchy(AssetData asset)
{
if (!loadHierarchy.Contains(itemDict[asset.id]))
{ {
var connector = ManagerHub.instance.Get<CustomAssetConnector>(); var connector = ManagerHub.instance.Get<CustomAssetConnector>();
@@ -173,6 +188,8 @@ namespace Studio.Manage
continue; continue;
connector.OnRestoreHierarchy(parent, child); connector.OnRestoreHierarchy(parent, child);
loadHierarchy.Add(parent);
}
} }
} }
public void SetAssetInfo(string name) public void SetAssetInfo(string name)

View File

@@ -90,11 +90,8 @@ namespace Studio.AssetTool
OnLoadComplete(assetData); OnLoadComplete(assetData);
} }
if (filePaths.Count > 0)
{
OnDirectoryLoadComplete(); OnDirectoryLoadComplete();
} }
}
public void LoadLocalFBXDirectorys(List<string> folderPaths) public void LoadLocalFBXDirectorys(List<string> folderPaths)
{ {
fileDatas.Clear(); fileDatas.Clear();

View File

@@ -99,8 +99,8 @@ namespace Studio
for (int i = 0; i < assetManagerData.localAssetsPaths.Count; i++) for (int i = 0; i < assetManagerData.localAssetsPaths.Count; i++)
{ {
var item = Instantiate(prf_folderPathItem, Content_LocalAssets); var item = Instantiate(prf_folderPathItem, Content_LocalAssets);
item.onEndEditInputFieldURL += LoadAsstsPath;
item.SetData(assetManagerData.localAssetsPaths[i]); item.SetData(assetManagerData.localAssetsPaths[i]);
item.onEndEditInputFieldURL += LoadAsstsPath;
folderPathItems.Add(item); folderPathItems.Add(item);
selectedURLs.Add(i, item.GetURL()); selectedURLs.Add(i, item.GetURL());