The one that replicates subitemstacks better
- Fixed the ArcInventoryComponent's
OnItemSlotChangeevent on the client. It should now mirror the same parameters as the server's version.
- Reworked Subitem replication. Due to an issue with Unreal Engine replication during the initial replication frame, UArcItemStack's SubItem array was being updated before the subitems were being created. This would lead to the array having null entries when an item is replicated to the client, but only for a frame. The next frame, the NetDriver would fixup the pointers and it would be valid.
To Fix this, UArcItemStack's SubItem array has been changed to a FFastArraySerializer struct. This necissitated an API change, thus the version increment. Now, there is an event when a SubItem is added or removed from the SubItemStacks array, and binding to that event will catch when the netdriver fixes up the sub item stack pointers. You will still get null sub item stacks in the array if you try to access the array on the initial replication frame of a new item.
- Changed UArcItemStack's GetSubItemStacks blueprint node from a getter to a blueprint pure function that returns an array.
- Modified BP_SimpleLargeItemCard to account for the SubItemStack changes