diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs index 382c2321..0aff71d5 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs @@ -254,7 +254,15 @@ namespace Studio.AssetTool componentScrollView.DeselectAll(); //canvas_Popup.panel_objectdistance.SetSelecetedObjectToNull(); } - + public void DestoryConnectedAssetAll() + { + foreach (ConnectedAsset connectedAsset in connectedAssets) + { + connectedAsset.renderObject.Deselect(); + GameObject.Destroy(connectedAsset.renderObject.gameObject); + } + connectedAssets.Clear(); + } public void OrderByHierarchy(List objectsToOrder) { SortedDictionary itemToObject = new SortedDictionary(); diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetDataRepository.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetDataRepository.cs index ba1c9561..bf8cf3d6 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetDataRepository.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetDataRepository.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using Studio.Util; +using UnityEngine; namespace Studio.Repositories { @@ -34,6 +35,16 @@ namespace Studio.Repositories { assetDatas.Remove(assetData); } + + public void RemoveAll() + { + foreach (var assetData in assetDatas) + { + GameObject.Destroy(assetData.gameObject); + } + + assetDatas.Clear(); + } internal bool TryGetDataFromName(string name, out CustomAssetData p) { diff --git a/Assets/Scripts/Studio/Command/ObjectCommand/RemoveAllObjectCommand.cs b/Assets/Scripts/Studio/Command/ObjectCommand/RemoveAllObjectCommand.cs index fd8363ef..14cf4c25 100644 --- a/Assets/Scripts/Studio/Command/ObjectCommand/RemoveAllObjectCommand.cs +++ b/Assets/Scripts/Studio/Command/ObjectCommand/RemoveAllObjectCommand.cs @@ -58,11 +58,12 @@ namespace Studio } } //connector.onRemoveObjects?.Invoke(); - ManagerHub.instance.Get().DeselectAll(); var canvas = CanvasManager.instance.GetCanvas(); canvas.panel_dynamicobjectinfo.ResetObjectInfo(); connector.componentScrollView.DeselectAll(); CanvasManager.instance.GetCanvas().panel_dynamicobjectinfo.ResetObjectInfo(); + ManagerHub.instance.Get().DeselectAll(); + connector.DestoryConnectedAssetAll(); } } } diff --git a/Assets/Scripts/Studio/Managers/FBXFileManager.cs b/Assets/Scripts/Studio/Managers/FBXFileManager.cs index 1a360852..001a4e85 100644 --- a/Assets/Scripts/Studio/Managers/FBXFileManager.cs +++ b/Assets/Scripts/Studio/Managers/FBXFileManager.cs @@ -51,7 +51,7 @@ namespace Studio.AssetTool } public void ClearFilePaths() { - dataRepo.assetDatas.Clear(); + dataRepo.RemoveAll(); filePaths.Clear(); }