[{"data":1,"prerenderedAt":310},["ShallowReactive",2],{"class-doc-/reference/2.0/gg_inventory/gginventoryui":3,"navigation":238},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"_id":8,"navigation":6,"addon":5,"version":9,"brief_description":10,"description":11,"tutorials":7,"methods":12,"members":90,"signals":194,"constants":220,"inherits":232,"name":233,"title":233,"_source":234,"_file":235,"_stem":236,"_extension":237},"/reference/2.0/gg_inventory/gginventoryui","gg_inventory",false,"","content:40.reference:2.0:gg_inventory:GGInventoryUI.xml","2.0","Displays the contents of the [GGInventory] component.","The Inventory UI displays the contents of a [GGInventory] component. Most of the heavy lifting is performed by the [GGInventoryManagedSlotsController]. [br][br][b]Presentation[/b] [br][br]The inventory UI supports three different presentation styles determined by the [member view] setting: [br][br]- The [b]Grid View[/b] uses a [GridContainer] with a fixed number of [member grid_columns]. [br]- The [b]Flow View[/b] uses a [FlowContainer] and displays as many items side-by-side as will fit. This allows for more responsive design for differently size devices. [br]- The [b]List View[/b] uses a [VBoxContainer] to display vertically-arranged line items. [br][br]The grid view and flow view both use the [member slot_scene], while the list view uses the [member list_item_scene] to represent each individual inventory item slot.",[13,17,22,30,33,36,39,42,45,50,53,57,63,69,73,77,81,85],{"description":7,"name":14,"public":6,"returnType":15,"params":16},"_ready","void",[],{"description":18,"name":19,"public":20,"returnType":15,"params":21},"Forces all item slots to refresh.","refresh_slots",true,[],{"description":23,"name":24,"public":20,"returnType":25,"params":26},"Returns the [Control] node for the [param slot_id].","get_slot","Control",[27],{"name":28,"type":29},"slot_id","int",{"description":7,"name":31,"public":6,"returnType":15,"params":32},"_set_scroll_container_custom_minimum_size",[],{"description":7,"name":34,"public":6,"returnType":15,"params":35},"_set_scroll_container_mode",[],{"description":7,"name":37,"public":6,"returnType":15,"params":38},"_set_inventory",[],{"description":7,"name":40,"public":6,"returnType":15,"params":41},"_update_controller_configuration",[],{"description":7,"name":43,"public":6,"returnType":15,"params":44},"_update_view",[],{"description":7,"name":46,"public":6,"returnType":15,"params":47},"_on_tab_changed",[48],{"name":49,"type":29},"tab",{"description":7,"name":51,"public":6,"returnType":15,"params":52},"_set_grid_columns",[],{"description":7,"name":54,"public":6,"returnType":55,"params":56},"_get_visible_slot_ids","int[]",[],{"description":58,"name":59,"public":6,"returnType":15,"params":60},"Will transfer the item to the remote inventory","_on_inventory_controller_transfer_item_requested",[61],{"name":28,"type":62},"Variant",{"description":7,"name":64,"public":6,"returnType":15,"params":65},"_on_gui_input_slot",[66],{"name":67,"type":68},"event_args","GGInventoryEventArgs",{"description":7,"name":70,"public":6,"returnType":15,"params":71},"_on_mouse_entered_slot",[72],{"name":67,"type":68},{"description":7,"name":74,"public":6,"returnType":15,"params":75},"_on_mouse_exited_slot",[76],{"name":67,"type":68},{"description":7,"name":78,"public":6,"returnType":15,"params":79},"_on_focus_entered_slot",[80],{"name":67,"type":68},{"description":7,"name":82,"public":6,"returnType":15,"params":83},"_on_focus_exited_slot",[84],{"name":67,"type":68},{"description":7,"name":86,"public":6,"returnType":15,"params":87},"_on_inventory_resized",[88],{"name":89,"type":29},"slot_count",[91,96,99,105,111,117,122,128,131,136,139,141,146,151,156,161,166,171,175,180,185,190],{"name":92,"description":93,"type":94,"setter":95,"getter":7,"public":20},"inventory","Specify the inventory node this UI should use","GGInventory","@inventory_setter",{"name":97,"description":98,"type":94,"setter":7,"getter":7,"public":20},"remote_inventory","If provided, items can be transferred via the [member GGInventory.transfer_strategy].",{"name":100,"description":101,"type":102,"setter":103,"getter":104,"public":20},"search","The search string used to filter and narrow down which inventory items are shown.","String","@search_setter","@search_getter",{"@enum":106,"name":107,"description":108,"type":29,"setter":109,"getter":7,"default":110,"public":20},"GGInventoryUI.Views","view","Determines which view to display the inventory in.","@view_setter","0",{"name":112,"description":113,"type":114,"setter":115,"getter":7,"default":116,"public":20},"slot_scene","The scene responsible for displaying an inventory item.","PackedScene","@slot_scene_setter","\u003CObject>",{"name":118,"description":119,"type":120,"setter":121,"getter":7,"public":20},"slot_size","Sets the size for each slot.","Vector2","@slot_size_setter",{"name":123,"description":124,"type":125,"setter":126,"getter":7,"default":127,"public":20},"allow_slot_focus","Determines whether inventory item slots can receive focus.","bool","@allow_slot_focus_setter","true",{"name":129,"description":130,"type":114,"setter":7,"getter":7,"default":116,"public":20},"list_item_scene","The scene used for each list item when the inventory is in list [member view].",{"name":132,"description":133,"type":29,"setter":134,"getter":7,"default":135,"public":20},"grid_columns","Specifies how many columns the [member grid_container] should have.","@grid_columns_setter","1",{"@enum":137,"name":138,"type":29,"setter":7,"getter":7,"default":110,"public":20},"ScrollContainer.ScrollMode","scroll_container_horizontal_mode",{"@enum":137,"name":140,"type":29,"setter":7,"getter":7,"default":135,"public":20},"scroll_container_vertical_mode",{"name":142,"description":143,"type":120,"setter":144,"getter":7,"default":145,"public":20},"scroll_container_custom_minimum_size","Sets the [member ScrollContainer.custom_minimum_size] for all [Container]s listed in [member scroll_containers].","@scroll_container_custom_minimum_size_setter","Vector2(0, 0)",{"name":147,"description":148,"type":149,"setter":150,"getter":7,"public":20},"action_strategy","Handles the user input for each slot.","GGInventoryActionStrategy","@action_strategy_setter",{"name":152,"description":153,"type":154,"setter":155,"getter":7,"public":20},"dnd_strategy","Specifies the Drag-and-Drop handling implementation","GGInventoryDndStrategy","@dnd_strategy_setter",{"name":157,"description":158,"type":159,"setter":160,"getter":7,"public":20},"split_strategy","Specifies the Split-Item handling implementation","GGInventorySplitStrategy","@split_strategy_setter",{"name":162,"description":163,"type":164,"setter":165,"getter":7,"public":20},"search_strategy","Specifies the Search/filtering implementation","GGInventorySearchStrategy","@search_strategy_setter",{"name":167,"description":168,"type":169,"setter":170,"getter":7,"public":20},"inventory_controller","The controller that handles user input and interacts with the inventory.","GGInventoryController","@inventory_controller_setter",{"name":172,"description":173,"type":174,"setter":7,"getter":7,"public":20},"grid_container","Defined so that the [member grid_columns] property can configure the [member GridContainer.columns].","GridContainer",{"name":176,"description":177,"type":178,"setter":7,"getter":7,"default":179,"public":20},"scroll_containers","The [ScrollContainer]s for the different item presentations.","ScrollContainer[]","[]",{"name":181,"description":182,"type":183,"setter":184,"getter":7,"public":20},"tab_container","Switches between different views when [member view] is updated.","TabContainer","@tab_container_setter",{"name":186,"description":187,"type":188,"setter":7,"getter":7,"default":189,"public":20},"default_focus","Used by [GGFocusControl] to determine which element should be focused.","Node","null",{"name":191,"description":192,"type":29,"setter":193,"getter":7,"default":110,"public":20},"context_id","Represents a [GGEntityAccessManager] context.","@context_id_setter",[195,200,205,210,215],{"description":196,"name":197,"params":198},"Emitted for each slot's [signal Control.gui_input] signal.","gui_input_slot",[199],{"name":67,"type":68},{"description":201,"name":202,"params":203},"Emitted for each slot's [signal Control.focus_entered] signal.","focus_entered_slot",[204],{"name":67,"type":68},{"description":206,"name":207,"params":208},"Emitted for each slot's [signal Control.focus_exited] signal.","focus_exited_slot",[209],{"name":67,"type":68},{"description":211,"name":212,"params":213},"Emitted for each slot's [signal Control.mouse_entered] signal.","mouse_entered_slot",[214],{"name":67,"type":68},{"description":216,"name":217,"params":218},"Emitted for each slot's [signal Control.mouse_exited] signal.","mouse_exited_slot",[219],{"name":67,"type":68},[221,225,228],{"#text":222,"@name":223,"@value":110,"@enum":224},"Uses a [FlowContainer] to display items in a responsive grid.","FLOW_VIEW","Views",{"#text":226,"@name":227,"@value":135,"@enum":224},"Uses a [VBoxContainer] to display a list of item.","LIST_VIEW",{"#text":229,"@name":230,"@value":231,"@enum":224},"Uses a [GridContainer] to display item in a grid. The [member grid_columns] property determines the number of columns.","GRID_VIEW","2","PanelContainer","GGInventoryUI","content","40.reference/2.0/gg_inventory/GGInventoryUI.xml","40.reference/2.0/gg_inventory/GGInventoryUI","xml",[239,248,275,295],{"title":240,"_path":241,"children":242},"Getting Started","/getting-started",[243,245],{"title":244,"_path":241},"Introduction",{"title":246,"_path":247},"Installation","/getting-started/installation",{"title":249,"_path":250,"children":251},"Concepts","/concepts",[252,254,257,260,263,266,269,272],{"title":253,"_path":250},"Overview",{"title":255,"_path":256},"Inventory","/concepts/inventory",{"title":258,"_path":259},"Interactions","/concepts/interaction",{"title":261,"_path":262},"Permissions","/concepts/permissions",{"title":264,"_path":265},"Multiplayer","/concepts/multiplayer",{"title":267,"_path":268},"User Interface","/concepts/user-interface",{"title":270,"_path":271},"Game Integration","/concepts/game-integration",{"title":273,"_path":274},"Crafting","/concepts/crafting",{"title":276,"_path":277,"children":278},"Demos","/demos",[279,281,284,287,289,292],{"title":280,"_path":277},"Inventory Tour",{"title":282,"_path":283},"Inventory UI Playground","/demos/inventory_ui",{"title":285,"_path":286},"Inventory Game UI","/demos/inventory_game_ui",{"title":273,"_path":288},"/demos/crafting",{"title":290,"_path":291},"Multiplayer Lobby","/demos/mp_lobby",{"title":293,"_path":294},"Sequencer (prototype)","/demos/sequencer",{"title":296,"_path":297,"children":298},"Guide","/guide",[299,301,304,307],{"title":300,"_path":297},"Architecture Deep Dive",{"title":302,"_path":303},"Design Principles","/guide/design-principles",{"title":305,"_path":306},"Changelog v2.x","/guide/changelog-v2",{"title":308,"_path":309},"Changelog v1.x","/guide/changelog",1743268977590]