Class GGInventorySystemDialogStrategyUIKit extends GGInventorySystemDialogStrategy

# Members

var one_dialog_at_a_time: bool = false
## The user interface scene when opening an inventory in browse mode.
var browse_ui_scene: PackedScene = <Object>
## The user interface scene when opening an inventory in transfer mode.
var transfer_ui_scene: PackedScene = <Object>
## The inventory UI configuration encapsulates all details needed to configure the user interfaces specified by the [member browse_ui_scene] and [member transfer_ui_scene] properties.
var inventory_ui_configuration: GGInventoryUIConfiguration
## Looks up the entity's display name, [GGEntityAccessManager], and [GGInventory] component. This is used by the [member dialog_strategy] to correctly present the inventory user interface to the player.
var entity_resolver_strategy: GGInventoryEntityResolverStrategy
var dialog_size: Vector2 = Vector2(600, 400)
## The name of the autoload/singleton that the UI kit is available under.
var ui_kit_global_name: String = "GGUIKit"

# Methods

## Opens an inventory for browsing when the [param subject] entity interacts with the [param object] entity.
func open_inventory(inventory_system: GGInventorySystemFacadesubject: Nodeobject: Node) -> Control
## Opens two inventories for transfer when the [param subject] entity interacts with the [param object] entity.
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