The inventory system is quite interesting. The way it behave by increasing the inventory UI on the bottom, but the management of the items seems to lose reference. As a game programmer for an Alpha5f, I advice:
- Remove the behaviour that decreases the inventory slots and make the UI occupy it's full length, while you fix the behavior that lose the reference of the items.
- After a while playing it seems that your pointer is not accurate. the items lost is still in memory. I can say that because later on after picking randomly some items, the inventory simply pops-up at full length with the items I already picked and lost by the decreasying "bug"
- Probably, your code have some leaks in the loop check, because some items on pick-up, isn't recognizing that there is already an item of the same type in the inventory.
- Dropping an item, makes the code decreasy the slot's by 1, but you are not removing the right spot. An easy solution:
- Sort the items to always fill from left to right. This way, the last slots on inventory will be empty to be "removed"
- And only then, pop your queue, or clean the variable or pointer or remove the last position on your array.
This should be an easy issue to solve! Releasing a fix update to Alpha5, would be nice.