Table of Contents

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)