Thank you for the video it really helps me understand the issues.
1. For the panels, that's a pretty common issue. By default when you close a panel it will open the "previous" panel. That's very useful when nesting panels, but no so much for floating panels how you have it.
Rather than calling the "SmartOpen" function when pressing the Inventory button, call the "Open" function
Or if you would rather this be the default, when calling SmartOpen/SmartClost then you can edit the source code at line 200 of DisplayPanel.cs script:
Code:
public virtual void SmartClose()
{
Close(false);
}
2. This is also a pretty common issue. Dragging and dropping uses a something called a DropAction. You can learn more here:
Items can be moved within and between Item View Slots Containers using drag & drop (mouse) or with special Item View Slots Container Item Actions . . .
opsive.com
and here is a video tutorial on that subject:
opsive.com
There are two states of equipping an item on a character. "Soft" Equip and "Active" Equipped. When you drag and drop, a "smartDrag&DropAction" is used to add the item to the equip collection. At that point it is "Soft" Equip. If you check the demo scene you'll see what I mean:
View attachment 12641
It is equipped, but it's not actively equipped.
If you want the item to be actively equipped on drag and drop then what you will need is to change the DropAction to use the CharacterEquipItemAction when dragging your items from your player inventory grid to your equipment window.
Something like that should do the trick:
View attachment 12642
Make sure the drop condition/action is at the top, and make sure the SourceContainer and Destination Container names are the correct ones (It's the DisplayPanel name where your items are displayed)
I hope that makes sense