fix rotation of multiselect dragged item
This commit is contained in:
@@ -135,6 +135,11 @@ namespace UIFixes
|
||||
|
||||
public static void OnNewItemView(GridItemView itemView)
|
||||
{
|
||||
if (!itemView.IsSelectable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
MultiSelectItemContext itemContext = SelectedItems.FirstOrDefault(x => x.Key.Item == itemView.Item).Key;
|
||||
if (itemContext != null)
|
||||
{
|
||||
@@ -233,7 +238,7 @@ namespace UIFixes
|
||||
MultiSelectItemContext multiSelectItemContext = SelectedItems.Keys.FirstOrDefault(c => c.Item == first.Item);
|
||||
if (multiSelectItemContext != null)
|
||||
{
|
||||
multiSelectItemContext.SetPosition(first.CursorPosition, first.ItemPosition);
|
||||
multiSelectItemContext.UpdateDragContext(first);
|
||||
return result.Prepend(multiSelectItemContext);
|
||||
}
|
||||
}
|
||||
@@ -461,6 +466,12 @@ namespace UIFixes
|
||||
return new MultiSelectItemContext(ItemContextAbstractClass, ItemRotation);
|
||||
}
|
||||
|
||||
public void UpdateDragContext(ItemContextClass itemContext)
|
||||
{
|
||||
SetPosition(itemContext.CursorPosition, itemContext.ItemPosition);
|
||||
ItemRotation = itemContext.ItemRotation;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
|
||||
@@ -38,9 +38,9 @@ namespace UIFixes
|
||||
{
|
||||
LocationInGrid location = itemContext.ItemAddress is ItemAddressClass gridAddress ? MultiGrid.GetGridLocation(gridAddress) : null;
|
||||
builder.AppendFormat("x{0} {1} {2} {3}\n",
|
||||
itemContext.Item.StackObjectsCount,
|
||||
itemContext.ItemAddress.ContainerName,
|
||||
location != null ? $"({location.x}, {location.y})" : "slot",
|
||||
itemContext.Item.StackObjectsCount,
|
||||
itemContext.ItemAddress.Container.ID,
|
||||
location != null ? $"({location.x}, {location.y})" : "(slot)",
|
||||
itemContext.Item.Name.Localized());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user