AUTO-GENERATED FILE — DO NOT EDIT MANUALLY
Source: ui/placeable/single/placeable_selection_ui.gd
Version: 5.0
class_name: PlaceableSelectionUI
extends: Control
Signals
valid_changed(is_valid: bool)- System mode state for tracking build mode changes.[br]
- Automatically connects to mode changes to show/hide the UI appropriately.
Exports
_group- Path to folder containing category tag resources.[br]
- Tags found here are automatically loaded and added to [member category_tags].
- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_dir- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_dir- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_dir- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
category_tags- selection_ui.fixed_template_height = 48
- selection_ui.fixed_icon_size = 40
- [/codeblock]
placeables- Supports folder-based asset loading with [GBAssetResolver] for automatic discovery of content and category tags.
- Integrates with [BuildingSystem] to initiate placement mode when items are selected.
- [b]Key Features:[/b]
- [ul]
- Configurable sizing for consistent template height and icon dimensions
- Variant cycling for sequences through enhanced [PlaceableListEntry] components
- Automatic asset loading from configured folders
- Category-based organization with tabs
- [/ul]
- [b]Usage:[/b]
- [codeblock]
- var selection_ui = PlaceableSelectionUI.new()
- selection_ui.category_tags_folder = “res://my_categories”
- selection_ui.fixed_template_height = 48
- selection_ui.fixed_icon_size = 40
- [/codeblock]
sequences- Supports folder-based asset loading with [GBAssetResolver] for automatic discovery of content and category tags.
- Integrates with [BuildingSystem] to initiate placement mode when items are selected.
- [b]Key Features:[/b]
- [ul]
- Configurable sizing for consistent template height and icon dimensions
- Automatic asset loading from configured folders
- Category-based organization with tabs
- [/ul]
- [b]Usage:[/b]
- [codeblock]
- var selection_ui = PlaceableSelectionUI.new()
- selection_ui.placeables_folder = “res://my_placeables”
- selection_ui.category_tags_folder = “res://my_categories”
- selection_ui.fixed_template_height = 48
- selection_ui.fixed_icon_size = 40
- [/codeblock]
_group- Path to folder containing category tag resources.[br]
- Tags found here are automatically loaded and added to [member category_tags].
- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_range- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
placeable_entry_template- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
sequence_entry_template- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_group- Path to folder containing category tag resources.[br]
- Tags found here are automatically loaded and added to [member category_tags].
- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
fixed_template_height- selection_ui.fixed_icon_size = 40
- [/codeblock]
fixed_icon_size- [/codeblock]
show_category_tab_names- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
hide_ui_on_selection- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
_group- Path to folder containing category tag resources.[br]
- Tags found here are automatically loaded and added to [member category_tags].
- Path to folder containing placeable resources.[br]
- Placeables found here are automatically loaded and added to [member placeables].
- Path to folder containing placeable sequence resources.[br]
- Sequences found here are automatically loaded and added to [member sequences].
- Category tags to include alongside folder-loaded ones.[br]
- These tags are combined with tags loaded from [member category_tags_folder].
- Individual placeables to include alongside folder-loaded ones.[br]
- These are displayed in grids alongside sequences. Combined with placeables from [member placeables_folder].
- Placeable sequences to include alongside folder-loaded ones.[br]
- Sequences allow variant cycling within a single grid slot. Combined with sequences from [member sequences_folder].
- Number of columns for the grid layout.[br]
- Default: 1 (single column list layout).
- Template scene for individual placeable entries.[br]
- Should be a [PlaceableView] that displays icon and name.
- Template scene for sequence entries with variant cycling.[br]
- Should be a [PlaceableListEntry] that supports cycling through sequence variants.
- Fixed height for all templates to prevent resizing when cycling through sequence variants.[br][br]
- When set to a positive value, enforces consistent height for all template entries.[br]
- When set to 0, disables PlaceableSelectionUI-level height enforcement and allows templates to size naturally.[br]
- Note: Individual PlaceableView instances may still enforce their own height via their fixed_view_height property.[br]
- Default: 48 pixels for consistent template sizing.
- Fixed icon size for all placeable view icons to ensure consistent icon dimensions.[br][br]
- When set to a positive value, enforces both width and height for all icon TextureRects in PlaceableView instances.[br]
- When set to 0, icon sizing is not enforced and will use template defaults.[br]
- Default: 40 pixels for standard icon sizing.
- Whether category tab titles should be visible for manual category selection.[br]
- When false, tabs are hidden and only grid content is shown.
- Whether to hide the selection UI when an item is selected.[br]
- When true, the UI automatically hides after the user selects a placeable or sequence.
- Root control node for showing and hiding the entire UI.
- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
ui_root- Tab container that handles category-based organization.[br]
- Each tab represents a category tag and contains a grid of matching placeables/sequences.
- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
tab_container- Context providing access to building system and other grid building systems.
- Logger for diagnostic and error messages.
- Shared logic for placeable selection behavior.
Methods
_readyresolve_gb_dependencies(p_container: GBCompositionContainer) -> void_load_assets -> void- Load category tags from folder and combine with exported ones
rebuild -> voidclear_setup_tabs- One tab per category
_get_placeables_with_tag(tag: Resource) -> Array_get_sequences_with_tag(tag: Resource) -> Array_create_mixed_content_grid(placeables_for_tag: Array, sequences_for_tag: Array) -> GridContainer- Create grid container programmatically
_on_placeable_selected(p_placeable: Placeable)_on_sequence_entry_selected(entry: PlaceableListEntry)_on_sequence_variant_changed(entry: PlaceableListEntry, variant_index: int)- Optional: Handle variant change events for additional functionality
add_placeables(new_placeables: Array)remove_placeables(rem_placeables: Array)get_runtime_issues -> Array_on_mode_changed(p_mode: GBEnums)_on_hidden_validate_basic_components -> void_validate_required_templates -> void- Only validate placeable template if we have placeables
_get_building_system -> BuildingSystem_enforce_template_height(template_entry: Control) -> void_constrain_template_icons(template_entry: Control) -> void- Find and constrain TextureRect nodes (used for icons)
_find_nodes_by_type(parent: Node, type_name: String) -> Array