The object catalog: a tab for each PlacementProfile, each holding a grid of objects and sequences. Picking one starts placing it. Fill it from folders, from lists, or both. Start from the included scene, which already has the required child nodes: var selection_ui_scene = preload("res://templates/grid_placement_templates/ui/placement_panel/placement_panel.tscn") var selection_ui := selection_ui_scene.instantiate() as SceneEntrySelectionUI selection_ui.scene_entries_folder = "res://my_scene_entries" selection_ui.category_profiles_folder = "res://my_profiles" selection_ui.fixed_template_height = 48 selection_ui.fixed_icon_size = 40 A custom scene must assign ui_root and tab_container.
Source: addons/grid_placement/ui/scene_entry/single/scene_entry_selection_ui.gd
Syntax
class SceneEntrySelectionUI extends PlacementControlMembers
| Name | Kind | Summary |
|---|---|---|
valid_changed | Signal | Emitted when the catalog's setup becomes valid or invalid. |
entry_activated | Signal | Emitted whenever an object is clicked, even when read_only_catalog is on. |
category_selected | Signal | Emitted when the visible category tab changes or the tabs are rebuilt. |
icon_single | Property | Icon for the single-cell tool button. |
icon_line | Property | Icon for the line tool button. |
icon_rectangle_fill | Property | Icon for the filled rectangle tool button. |
icon_rectangle_outline | Property | Icon for the rectangle outline tool button. |
category_profiles_folder | Property | Folder of PlacementProfile resources to make category tabs from. |
scene_entries_folder | Property | Folder of ScenePlacementEntry resources to list. Used only when no catalog is wired - a wired catalog is authoritative and skips this scan. |
sequences_folder | Property | Folder of SceneEntrySequence resources to list. Used only when no catalog is wired - a wired catalog is authoritative and skips this scan. |
category_profiles | Property | Profiles to make category tabs from, in addition to category_profiles_folder. This is the AUTHORED list, and it is not the whole answer: when it and the folder are both empty the panel derives the categories from the entries. Read _effective_profiles() for the list the panel actually renders. |
category_groups | Property | Groups that split the category tabs into a second row of tabs. Needs category_group_bar. Profiles no group lists appear in an "Other" group. Groups only filter which tabs show; rules and tools do not change. |
scene_entries | Property | Objects to list, in addition to scene_entries_folder. Always listed, catalog or not. |
sequences | Property | Sequences to list, in addition to sequences_folder. Each takes one slot and cycles through its variants. Always listed, catalog or not. |
grid_columns | Property | Number of columns. 1 shows a single-column list. |
scene_entry_template | Property | Scene for each object. Its root must be a SceneEntryView. |
sequence_entry_template | Property | Scene for each sequence. Its root must be a SceneEntryListEntry. |
fixed_template_height | Property | Height of each entry, in pixels. 0 lets entries size to their content. |
fixed_icon_size | Property | Width and height of each icon, in pixels. 0 keeps the scene's size. |
show_category_tab_names | Property | Whether category tabs show their names. When off, tabs show only icons. |
hide_ui_on_selection | Property | Hides the catalog after an object is picked. |
read_only_catalog | Property | When on, clicking an object does not start placing it. Connect to entry_activated to handle clicks yourself. |
ui_root | Property | Root control shown and hidden as a whole. |
tab_container | Property | Holds one tab per category. |
category_group_bar | Property | Holds one tab per category_groups entry. Hidden when there are no groups. Leave empty to show every category without grouping. |
tool_shape_container | Property | Holds the tool buttons (single, line, rectangle). Leave empty to hide them. |
get_mode_state | Method | |
resolve_placement_dependencies | Method | |
resolve_placement_runtime | Method | |
rebuild | Method | |
clear | Method | |
set_active_entry | Method | |
get_active_entry | Method | |
clear_active_selection | Method | |
available_object_tools | Method | |
get_runtime_issues | Method |