From a00797dc995003d60a86534011b3715f32141db9 Mon Sep 17 00:00:00 2001 From: SoulliesOfficial <77235731+SoulliesOfficial@users.noreply.github.com> Date: Wed, 19 Feb 2025 19:06:26 -0500 Subject: [PATCH] small fix --- .../DynamicUI/Hierarchy/HierarchyTab.cs | 6 +----- .../EditorGame/GameElements/GameElement.cs | 2 +- Assets/Scripts/Manager/InputListener.cs | 4 ++-- Assets/Scripts/Manager/OperationManager.cs | 18 +++++++++++++++--- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs b/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs index d7a75410..c0f6388d 100644 --- a/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs +++ b/Assets/Scripts/DynamicUI/Hierarchy/HierarchyTab.cs @@ -69,11 +69,7 @@ namespace Ichni.Editor tabMainRect.anchoredPosition = new Vector2(posX, tabMainRect.anchoredPosition.y); tabButton.onClick.AddListener(SelectGameElement); expandButton.onClick.AddListener(ExpandOrFold); - deleteButton.onConfirm = () => - { - connectedGameElement.parentElement.childElementList.Remove(connectedGameElement); - connectedGameElement.Delete(); - }; + deleteButton.onConfirm = () => EditorManager.instance.operationManager.CopyPasteDeleteModule.DeleteElement(connectedGameElement); } } diff --git a/Assets/Scripts/EditorGame/GameElements/GameElement.cs b/Assets/Scripts/EditorGame/GameElements/GameElement.cs index 69aa44b1..f65b9da1 100644 --- a/Assets/Scripts/EditorGame/GameElements/GameElement.cs +++ b/Assets/Scripts/EditorGame/GameElements/GameElement.cs @@ -134,7 +134,7 @@ namespace Ichni.RhythmGame OnDelete(); - LogWindow.Log("Deleted element: " + elementName); + //LogWindow.Log("Deleted element: " + elementName); EditorManager.instance.beatmapContainer.gameElementList.Remove(this); //从保存列表中剔除 diff --git a/Assets/Scripts/Manager/InputListener.cs b/Assets/Scripts/Manager/InputListener.cs index 8ff052d0..1eace634 100644 --- a/Assets/Scripts/Manager/InputListener.cs +++ b/Assets/Scripts/Manager/InputListener.cs @@ -54,11 +54,11 @@ namespace Ichni.Editor if (Keyboard.current.cKey.wasPressedThisFrame) { - EditorManager.instance.operationManager.copyPasteModule.CopyElement(EditorManager.instance.operationManager.currentSelectedElement); + EditorManager.instance.operationManager.CopyPasteDeleteModule.CopyElement(EditorManager.instance.operationManager.currentSelectedElement); } else if (Keyboard.current.vKey.wasPressedThisFrame) { - EditorManager.instance.operationManager.copyPasteModule.PasteElement(EditorManager.instance.operationManager.currentSelectedElement); + EditorManager.instance.operationManager.CopyPasteDeleteModule.PasteElement(EditorManager.instance.operationManager.currentSelectedElement); } if (Keyboard.current.digit1Key.wasPressedThisFrame) diff --git a/Assets/Scripts/Manager/OperationManager.cs b/Assets/Scripts/Manager/OperationManager.cs index 53b21067..41f229d4 100644 --- a/Assets/Scripts/Manager/OperationManager.cs +++ b/Assets/Scripts/Manager/OperationManager.cs @@ -10,11 +10,11 @@ namespace Ichni.Editor { public GameElement currentSelectedElement { get; private set; } - public CopyPasteModule copyPasteModule; + public CopyPasteDeleteModule CopyPasteDeleteModule; public OperationManager() { - copyPasteModule = new CopyPasteModule(); + CopyPasteDeleteModule = new CopyPasteDeleteModule(); } public void SelectElement(GameElement gameElement) @@ -23,7 +23,7 @@ namespace Ichni.Editor } } - public class CopyPasteModule + public class CopyPasteDeleteModule { public GameElement copiedElement; @@ -45,6 +45,18 @@ namespace Ichni.Editor AffiliatedPaste(copiedElement, parentElement); } + public void DeleteElement(GameElement gameElement) + { + LogWindow.Log("Deleted element: " + gameElement.elementName + " and all its children."); + + if (gameElement.parentElement != null) + { + gameElement.parentElement.childElementList.Remove(gameElement); + } + + gameElement.Delete(); + } + private GameElement AffiliatedPaste(GameElement gameElement, GameElement parent) { gameElement.SaveBM();