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",