Add active event check to task serializer

This commit is contained in:
Tyfon
2024-07-08 18:03:58 -07:00
parent 9c30f8d3a5
commit 3b933f6536
3 changed files with 17 additions and 5 deletions

View File

@@ -681,7 +681,8 @@ namespace UIFixes
FindOrigin = GetTargetGridAddress(itemContext, ic, hoveredAddress);
FindVerticalFirst = ic.ItemRotation == ItemRotation.Vertical;
return __instance.AcceptItem(ic, targetItemContext);
});
},
itemContext => __instance.Grid.ParentItem.Owner.SelectEvents(itemContext.Item).All(args => args.Status == CommandStatus.Succeed));
// Setting the fallback after initializing means it only applies after the first item is already moved
GridViewPickTargetPatch.FallbackResult = __instance.Grid.ParentItem;
@@ -906,7 +907,10 @@ namespace UIFixes
InPatch = true;
var serializer = __instance.gameObject.AddComponent<MultiSelectItemContextTaskSerializer>();
__result = serializer.Initialize(MultiSelect.SortedItemContexts(), itemContext => __instance.AcceptItem(itemContext, targetItemContext));
__result = serializer.Initialize(
MultiSelect.SortedItemContexts(),
itemContext => __instance.AcceptItem(itemContext, targetItemContext),
itemContext => __instance.Slot.ParentItem.Owner.SelectEvents(itemContext.Item).All(args => args.Status == CommandStatus.Succeed));
__result.ContinueWith(_ => { InPatch = false; });