Class GGInventorySystemDialogStrategy extends Resource
The Dialog Strategy determines how inventories are presented to players.
When the game wants to present an inventory user interface to the player, it should call
The dialog strategy is responsible for ensuring the character has access, which typically involves using the [EntityAccessManager], and creating the appropriate [Control]s to present the user interface.
The default dialog strategy is provided by the [GGInventorySystemDialogStrategyDefault] class.
GGInventorySystem.open_inventory() or GGInventorySystem.open_transfer(), which will defer to its configured dialog strategy. The dialog strategy is responsible for ensuring the character has access, which typically involves using the [EntityAccessManager], and creating the appropriate [Control]s to present the user interface.
The default dialog strategy is provided by the [GGInventorySystemDialogStrategyDefault] class.
# Methods
## Called when [param inventory_system] should display the inventory of the [param object]. [br][br][b]Note[/b]: This method should not be called directly. Call [code]GGInventorySystem.open_inventory()[/code] instead.func open_inventory(inventory_system: GGInventorySystemFacadesubject: Nodeobject: Node) -> Control## Called when [param inventory_system] should display the inventories of the [param subject] and the [param object]. [br][br][b]Note[/b]: This method should not be called directly. Call [code]GGInventorySystem.open_transfer()[/code] instead.func open_transfer(inventory_system: GGInventorySystemFacadesubject: Nodeobject: Node) -> Control## Looks up the name of the [param entity], so that it can be displayed in the inventory user interface as a title above their inventory.func resolve_entity_name(entity: Node) -> String## Looks up the [GGEntityAccessManager] for the [param entity]. The access manager is used to ensure the player is allowed to access the inventory.func resolve_entity_access_manager(entity: Node) -> GGEntityAccessManager## Looks up the [GGInventory] component for the [param entity].func resolve_entity_inventory(entity: Node) -> GGInventory