Class TerrainPaletteUI
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
class TerrainPaletteUI extends PlacementControl
TerrainPaletteUI
Properties
terrain_palette
@export var terrain_palette: TerrainPalette
grid_columns
@export_range(1, 10, 1) var grid_columns: int = 1
terrain_entry_template
@export var terrain_entry_template: PackedScene
fixed_template_height
@export var fixed_template_height: int = 48
hide_ui_on_selection
@export var hide_ui_on_selection: bool = false
ui_root
@export var ui_root: Control
grid_container
@export var grid_container: GridContainer
brush_shape_container
@export var brush_shape_container: HBoxContainer
found
var found: Resource = null
config_path
var config_path: String = p_container.config.resource_path
fresh
var fresh: Resource = ResourceLoader.load(config_path, "", ResourceLoader.CACHE_MODE_REPLACE)
issues
var issues = get_runtime_issues()
issues
var issues = get_runtime_issues()
has_terrain_palette
var has_terrain_palette = terrain_palette != null and not terrain_palette.get_entries().is_empty()
issues
var issues = get_runtime_issues()
context
var context: String = "TerrainPaletteUI[%s]" % name
msg_formatted
var msg_formatted: String = "[%s] %s" % [context, p_issue]
tile_set
var tile_set = _resolve_tileset()
tileset_terrains
var tileset_terrains: PackedStringArray = []
palette_entries
var palette_entries: PackedStringArray = []
tile_set
var tile_set = _resolve_tileset()
resolved
var resolved = TerrainTilePainter.resolve_terrain_by_name(tile_set, entry.terrain_name)
display_name
var display_name: StringName = tile_set.get_terrain_name(resolved.terrain_set, resolved.terrain)
color
var color: Color = entry.get_color_from_tileset(tile_set)
entry_view
var entry_view: TerrainPaletteEntryView = _instantiate_entry()
entry_node
var entry_node: Node = terrain_entry_template.instantiate()
entry
var entry: TilePlacementEntry = null
building_system
var building_system = _get_building_system()
entry
var entry: TilePlacementEntry = null
building_system
var building_system = _get_building_system()
current_shape
var current_shape: int = building_system.get_current_brush_shape() if building_system else PlacementEnums.ObjectTool.SINGLE
shape_defs
var shape_defs: Array[Dictionary] = [
btn
var btn = Button.new()
shape
var shape: int = def["shape"]
style
var style = StyleBoxFlat.new()
building_system
var building_system = _get_building_system()
injector
var injector: PlacementInjectorSystem = null
label
var label = Label.new()
label
var label = Label.new()
Methods
resolve_placement_dependencies
func resolve_placement_dependencies(p_container: PlacementContainer) -> void:
Parameters
p_container
Returns
rebuild
func rebuild() -> void:
Returns
clear
func clear() -> void:
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]:
Returns
Events
terrain_selected
signal terrain_selected(terrain_name: StringName)
valid_changed
signal valid_changed(is_valid: bool)