I have done the Inventory and Shop. It is based off this tutorial. I just added more functions / modified it to my likings.
This is the Player Inventory. It has 4 tabs, 1 for each item category (Clothings, Accessories, Items, Food). Right now they are all empty. The right panel to show item Infomation and buttons.
You walk to the shop and the Shop Inventory is activated. You then buy items and it will be placed in its category tab (in the Player Inventory). I also use ScrollContainer, there are empty spaces to put item descriptions and quantity.
For Clothings Tab, there are 2 places where you can put item on the player, Body and Hip. They are just node3D positioned in player's scene. Then when press button it checks the name of item in that category then add_child it.
I also got the Tick system when one of the Body/Hip item is being used.
(by checking var is_used = true then make the sprite2D tick visible)
I got a swimsuit item which is just swaps player's texture and play shapedkey to expand the hip back to normal proportion. (I originally shrank the hip so it won't see through clothes that much)
You can unuse items and discard them
For Accessories Tab is pretty much the same. I use boneattachment for head bone and wrist bone. I add jiggle to the Bunny ears.
For Items Tab is just a pop up to show more details. Maybe use for clue or map or use key for doors..etc.
For Food Tab, each Item can be stacked and used up. In this demo I use it to change variables, for example, Chocolate bar will decrease Health, Apple with increase it, and Cake will increase coins.
This inventory code is kind of a mess, many duplicated codes, and totally unoptimized. I don't think it can/should be used in real game. There are also still room for improvement like sorting items. Overall though I'm pretty happy that I could make this Inventory work.
Next I will try doing the scene switches and to carry those player's equipped items over. Then the save/load function.