From 68aedd63a7c9e0234de549988d876f1a2b8817d6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 10 Mar 2022 20:22:36 +0900 Subject: [PATCH] Move `SelectionHandler`'s `SelectedItems` binding to the base implementation Until now it was up to each implementation to connect `BlueprintContainer` to its `SelectionHandler`, which didn't make much sense at all. --- .../Screens/Edit/Compose/Components/BlueprintContainer.cs | 1 + .../Edit/Compose/Components/EditorSelectionHandler.cs | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs index 130d7a015f..6dc6f20cfe 100644 --- a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs +++ b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs @@ -73,6 +73,7 @@ namespace osu.Game.Screens.Edit.Compose.Components SelectionHandler = CreateSelectionHandler(); SelectionHandler.DeselectAll = deselectAll; + SelectionHandler.SelectedItems.BindTo(SelectedItems); AddRangeInternal(new[] { diff --git a/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs index 5f6e8de557..7f693996a4 100644 --- a/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs +++ b/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs @@ -29,11 +29,7 @@ namespace osu.Game.Screens.Edit.Compose.Components // bring in updates from selection changes EditorBeatmap.HitObjectUpdated += _ => Scheduler.AddOnce(UpdateTernaryStates); - SelectedItems.BindTo(EditorBeatmap.SelectedHitObjects); - SelectedItems.CollectionChanged += (sender, args) => - { - Scheduler.AddOnce(UpdateTernaryStates); - }; + SelectedItems.CollectionChanged += (sender, args) => Scheduler.AddOnce(UpdateTernaryStates); } protected override void DeleteItems(IEnumerable items) => EditorBeatmap.RemoveRange(items);