From a35c0f1084efb35682a15dbed6a342ba809850fe Mon Sep 17 00:00:00 2001 From: Tyfon <29051038+tyfon7@users.noreply.github.com> Date: Tue, 16 Jul 2024 00:59:35 -0700 Subject: [PATCH] Fix multiselect refreshing to parent context --- Multiselect/MultiSelect.cs | 12 ++++++++++-- Multiselect/MultiSelectDebug.cs | 4 +--- UIFixes.csproj | 2 +- server/package.json | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Multiselect/MultiSelect.cs b/Multiselect/MultiSelect.cs index 352fb79..e3d07fb 100644 --- a/Multiselect/MultiSelect.cs +++ b/Multiselect/MultiSelect.cs @@ -162,7 +162,10 @@ public class MultiSelect if (oldItemContext != null) { MultiSelectItemContext newContext = oldItemContext.Refresh(); - SelectedItems.Add(newContext, SelectedItems[oldItemContext]); + if (newContext != null) + { + SelectedItems.Add(newContext, SelectedItems[oldItemContext]); + } SelectedItems.Remove(oldItemContext); oldItemContext.Dispose(); @@ -463,7 +466,12 @@ public class MultiSelectItemContext : DragItemContext public MultiSelectItemContext Refresh() { - return new MultiSelectItemContext(ItemContextAbstractClass, ItemRotation); + if (Item == ItemContextAbstractClass.Item) + { + return new MultiSelectItemContext(ItemContextAbstractClass, ItemRotation); + } + + return null; } public void UpdateDragContext(DragItemContext itemContext) diff --git a/Multiselect/MultiSelectDebug.cs b/Multiselect/MultiSelectDebug.cs index 90cef72..9e78ddd 100644 --- a/Multiselect/MultiSelectDebug.cs +++ b/Multiselect/MultiSelectDebug.cs @@ -66,9 +66,7 @@ public class MultiSelectDebug : MonoBehaviour } ItemAddress address = itemContext is DragItemContext dragItemContext ? dragItemContext.ItemAddress : itemContext.Item.CurrentAddress; - LocationInGrid location = address is GridItemAddress gridAddress ? - itemContext is MultiSelectItemContext ? MultiGrid.GetGridLocation(gridAddress) : gridAddress.LocationInGrid : - null; + LocationInGrid location = address is GridItemAddress gridAddress ? gridAddress.LocationInGrid : null; string locationString = location != null ? $"({location.x}, {location.y})" : "(slot)"; return $"x{itemContext.Item.StackObjectsCount} {address.Container.ID} {locationString} {itemContext.Item.Name.Localized()}"; diff --git a/UIFixes.csproj b/UIFixes.csproj index 6ec4754..47e6c83 100644 --- a/UIFixes.csproj +++ b/UIFixes.csproj @@ -4,7 +4,7 @@ net471 Tyfon.UIFixes SPT UI Fixes - 2.2.0 + 2.2.1 true latest Debug;Release diff --git a/server/package.json b/server/package.json index 4fb99d2..a401aa6 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "uifixes", - "version": "2.2.0", + "version": "2.2.1", "main": "src/mod.js", "license": "MIT", "author": "Tyfon",