[{"data":1,"prerenderedAt":199},["ShallowReactive",2],{"class-doc-/reference/2.0/gg_inventory/gginventoryactionstrategydefault":3,"navigation":127},{"_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":58,"constants":102,"signals":120,"inherits":121,"name":122,"title":122,"_source":123,"_file":124,"_stem":125,"_extension":126},"/reference/2.0/gg_inventory/gginventoryactionstrategydefault","gg_inventory",false,"","content:40.reference:2.0:gg_inventory:GGInventoryActionStrategyDefault.xml","2.0","Default implementation of handling player input when interacting with inventory slots.","The default action strategy handles user input for the [GGInventoryController]. It defines configurable settings for mouse input and other actions. You can define what actions left click, double-click, right-click, and middle-click perform, and also whether [member focus_follows_mouse]. [br][br]An action map determines which actions to use for using, dropping, transferring, splitting, and dragging items. These actions should match the actions created in the [url=https://docs.godotengine.org/en/4.3/getting_started/first_3d_game/02.player_input.html#creating-input-actions]Project Settings Input Map[/url].",[13,25,31,37,43,50],{"description":14,"name":15,"public":16,"returnType":17,"params":18},"Called by the [param controller] for each [InputEvent] the slot described by [param event_args] receives. If [member set_input_as_handled] is enabled, [method Viewport.set_input_as_handled] is called to mark the event as handled.","on_slot_gui_input",true,"void",[19,22],{"name":20,"type":21},"controller","GGInventoryController",{"name":23,"type":24},"event_args","GGInventoryEventArgs",{"description":26,"name":27,"public":16,"returnType":17,"params":28},"Called when an inventory slot described by [param event_args] is focused.","on_focus_entered",[29,30],{"name":20,"type":21},{"name":23,"type":24},{"description":32,"name":33,"public":16,"returnType":17,"params":34},"Called when an inventory slot described by [param event_args] loses focus.","on_focus_exited",[35,36],{"name":20,"type":21},{"name":23,"type":24},{"description":38,"name":39,"public":16,"returnType":17,"params":40},"Called when the mouse hovers over the inventory slot described by [param event_args].","on_mouse_entered",[41,42],{"name":20,"type":21},{"name":23,"type":24},{"description":7,"name":44,"public":6,"returnType":45,"params":46},"_event_to_action","int",[47],{"name":48,"type":49},"event","InputEvent",{"description":7,"name":51,"public":6,"returnType":17,"params":52},"_perform_action",[53,54,56],{"name":20,"type":21},{"name":55,"type":45},"action",{"name":57,"type":45},"slot_id",[59,64,68,72,76,81,85,89,93,98],{"@enum":60,"name":61,"description":62,"type":45,"setter":7,"getter":7,"default":63,"public":16},"GGInventoryActionStrategyDefault.Actions","mouse_left_click","The action to taken when left-clicking the mouse button.","0",{"@enum":60,"name":65,"description":66,"type":45,"setter":7,"getter":7,"default":67,"public":16},"mouse_double_click","The action to take when double clicking the mouse button.","1",{"@enum":60,"name":69,"description":70,"type":45,"setter":7,"getter":7,"default":71,"public":16},"mouse_right_click","The action to take when the right mouse button is pressed.","2",{"@enum":60,"name":73,"description":74,"type":45,"setter":7,"getter":7,"default":75,"public":16},"mouse_middle_click","The action to take when the middle mouse button is pressed.","4",{"name":77,"description":78,"type":79,"setter":7,"getter":7,"default":80,"public":16},"action_use_item","The [InputMap] action for using an inventory item.","String","\"inventory_use_item\"",{"name":82,"description":83,"type":79,"setter":7,"getter":7,"default":84,"public":16},"action_drop_item","The [InputMap] action for dropping an inventory item.","\"inventory_drop_item\"",{"name":86,"description":87,"type":79,"setter":7,"getter":7,"default":88,"public":16},"action_transfer_item","The [InputMap] action for transferring an inventory item to another inventory.","\"inventory_transfer_item\"",{"name":90,"description":91,"type":79,"setter":7,"getter":7,"default":92,"public":16},"action_split_item","The [InputMap] action for splitting an inventory item.","\"inventory_split_item\"",{"name":94,"description":95,"type":96,"setter":7,"getter":7,"default":97,"public":16},"focus_follows_mouse","Automatically focuses the slot the mouse is hovering over.","bool","false",{"name":99,"description":100,"type":96,"setter":7,"getter":7,"default":101,"public":16},"set_input_as_handled","When enabled, calls [method Viewport.set_input_as_handled] to prevent [InputEvent] from propagating further.","true",[103,107,110,113,117],{"#text":104,"@name":105,"@value":63,"@enum":106},"Take no action.","DO_NOTHING","Actions",{"#text":108,"@name":109,"@value":67,"@enum":106},"Tells the [GGInventoryController] to use an item.","USE_ITEM",{"#text":111,"@name":112,"@value":71,"@enum":106},"Tells the [GGInventoryController] to drop the item.","DROP_ITEM",{"#text":114,"@name":115,"@value":116,"@enum":106},"Tells the [GGInventoryController] to transfer the item.","TRANSFER_ITEM","3",{"#text":118,"@name":119,"@value":75,"@enum":106},"Tells the [GGInventoryController] to split an item stack in half.","SPLIT_ITEM",[],"GGInventoryActionStrategy","GGInventoryActionStrategyDefault","content","40.reference/2.0/gg_inventory/GGInventoryActionStrategyDefault.xml","40.reference/2.0/gg_inventory/GGInventoryActionStrategyDefault","xml",[128,137,164,184],{"title":129,"_path":130,"children":131},"Getting Started","/getting-started",[132,134],{"title":133,"_path":130},"Introduction",{"title":135,"_path":136},"Installation","/getting-started/installation",{"title":138,"_path":139,"children":140},"Concepts","/concepts",[141,143,146,149,152,155,158,161],{"title":142,"_path":139},"Overview",{"title":144,"_path":145},"Inventory","/concepts/inventory",{"title":147,"_path":148},"Interactions","/concepts/interaction",{"title":150,"_path":151},"Permissions","/concepts/permissions",{"title":153,"_path":154},"Multiplayer","/concepts/multiplayer",{"title":156,"_path":157},"User Interface","/concepts/user-interface",{"title":159,"_path":160},"Game Integration","/concepts/game-integration",{"title":162,"_path":163},"Crafting","/concepts/crafting",{"title":165,"_path":166,"children":167},"Demos","/demos",[168,170,173,176,178,181],{"title":169,"_path":166},"Inventory Tour",{"title":171,"_path":172},"Inventory UI Playground","/demos/inventory_ui",{"title":174,"_path":175},"Inventory Game UI","/demos/inventory_game_ui",{"title":162,"_path":177},"/demos/crafting",{"title":179,"_path":180},"Multiplayer Lobby","/demos/mp_lobby",{"title":182,"_path":183},"Sequencer (prototype)","/demos/sequencer",{"title":185,"_path":186,"children":187},"Guide","/guide",[188,190,193,196],{"title":189,"_path":186},"Architecture Deep Dive",{"title":191,"_path":192},"Design Principles","/guide/design-principles",{"title":194,"_path":195},"Changelog v2.x","/guide/changelog-v2",{"title":197,"_path":198},"Changelog v1.x","/guide/changelog",1743268977715]