diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs index 89af77fb..fbc83f27 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs @@ -150,7 +150,7 @@ namespace Studio.AssetTool //selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate; selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject; selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary; - selectRenderObject.CreateRenderObject(); + selectRenderObject.CreateRenderObjectAndResizeBoundary(); selectRenderObject.Select(); selectedAssetData.AddTransformToRender(selectedItem.transform); CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform()); @@ -183,7 +183,7 @@ namespace Studio.AssetTool //selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate; selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject; selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary; - selectRenderObject.CreateRenderObject(); + selectRenderObject.CreateRenderObjectAndResizeBoundary(); selectRenderObject.Select(); selectedAssetData.AddTransformToRender(selectedItem.transform); CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform()); diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs index 9844d640..dbc17d21 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetRenderObject.cs @@ -218,6 +218,13 @@ namespace Studio.AssetTool Hide(); } public void CreateRenderObject() + { + if (renderObject == null) + { + renderObject = instantiateObject?.Invoke(transform); + } + } + public void CreateRenderObjectAndResizeBoundary() { if (renderObject == null) { diff --git a/Assets/Scripts/Studio/Command/ObjectCommand/CopyObjectCommand.cs b/Assets/Scripts/Studio/Command/ObjectCommand/CopyObjectCommand.cs index 8e7917e4..01be2174 100644 --- a/Assets/Scripts/Studio/Command/ObjectCommand/CopyObjectCommand.cs +++ b/Assets/Scripts/Studio/Command/ObjectCommand/CopyObjectCommand.cs @@ -56,7 +56,7 @@ namespace Studio.Command copyAsset.renderObject.getBounds = copySource.assetData.GetCombinedBoundary; copyAsset.renderObject.onTransformChanged = copySource.assetData.OnTransformDataChanged; copyAsset.renderObject.instantiateObject = copySource.assetData.InstantiateLoadedObject; - copyAsset.renderObject.CreateRenderObject(); + copyAsset.renderObject.CreateRenderObjectAndResizeBoundary(); copyAsset.hierarchyItem.linkedObject = copyObject; copyAsset.renderObject.transform.position = copySource.renderObject.transform.position; copyAsset.renderObject.transform.rotation = copySource.renderObject.transform.rotation; @@ -83,7 +83,7 @@ namespace Studio.Command childAsset.renderObject.getBounds = childAsset.assetData.GetCombinedBoundary; childAsset.renderObject.onTransformChanged = childAsset.assetData.OnTransformDataChanged; childAsset.renderObject.instantiateObject = childSource.assetData.InstantiateLoadedObject; - childAsset.renderObject.CreateRenderObject(); + childAsset.renderObject.CreateRenderObjectAndResizeBoundary(); childAsset.hierarchyItem.linkedObject = copyChildObject; childAsset.renderObject.transform.position = childSource.renderObject.transform.position; childAsset.renderObject.transform.rotation = childSource.renderObject.transform.rotation;