@ -1,26 +1,32 @@
extends Node
signal next_quick_slot
signal previous_quick_slot
signal select_quick_slot ( slot_index : int )
signal quick_slot_selected ( slot_index : int )
signal item_picked_up ( item : DBItemResource )
signal item_dropped ( item : DBItemResource )
signal inventory_opened
signal inventory_closed
signal item_picked_up ( item : DBItemResource )
signal clear_inventory ## Remove all items in inventory
#region Inventory Specific
signal add_to_inventory ( item_id : String , amount : int )
signal remove_from_inventory ( item_id : String , amount : int )
signal remove_from_slot ( slot_index : int , amount : int )
signal clear_inventory ## Remove all items in inventory
signal item_added ( item_id : String , amount : int )
signal item_removed ( item_id : String , amount : int )
signal inventory_closed
signal inventory_opened
signal inventory_slot_updated ( slot_index : int )
signal remove_from_inventory ( item_id : String , amount : int )
signal remove_from_slot ( slot_index : int , amount : int )
#endregion
#region Quickslots
signal next_quick_slot
signal previous_quick_slot
signal quick_slot_selected ( slot_index : int )
signal select_quick_slot ( slot_index : int )
#endregion
var max_inventory_items : int = 40 # 4 rows of 10
var quick_slot_count : int = 10
var selected_quick_slot : int = 0
var max_inventory_items : int = 40 # 4 rows of 10
var inventory : Array [ DBItemResource ] = [ ] ## To ensure inventory is automatically sorted, "empty" inventory cells will be replaced with null to keep positions
var _inventory_cache : Dictionary [ String , Dictionary ] = { } ## Used for caching certain information