Table of Contents

Class PlacementSettings

Namespace
GridPlacement.GDScript
Assembly
MoonBark.GridPlacement.GDScript.dll

Configuration settings for the placement system's behavior and appearance.\n\nControls preview display, multi-placement functionality, instance management, and other placement-related parameters.

class PlacementSettings extends PlacementResource
PlacementSettings

Properties

preview_kept_script_types

List of Script Global Class Names that will be kept for preview instances when placing objects in build mode.[br][br] [code]preview_kept_script_types[/code]: [i]Array[String][/i] - Script class names to preserve during preview creation

@export var preview_kept_script_types: Array[String] = ["Manipulatable"]

add_placeable_instance

Add a placeable instance component node automatically to any instance objects placed by the building system. This node holds a reference to the placeable that created it to reinstate the scene between level loads.[br][br] [b]WARNING:[/b] It does this using file_path to the placeable resource. Files can move around a lot so you may consider implementing an ID database for looking up Placeables instead during gameplay to avoid losing reference the ScenePlacementEntry file.[br][br] [code]add_placeable_instance[/code]: [i]bool[/i] - Whether to automatically add PlaceableInstance component to placed objects

@export var add_placeable_instance = true

preview_instance_z_index

The z index value to set preview instances to in order to control their rendering order.[br][br] [code]preview_instance_z_index[/code]: [i]int[/i] - Z-index for preview instance display ordering

@export var preview_instance_z_index = 100 :

indicator_z_index

The z index applied to rule check indicators so validity feedback renders above the placement preview (see [member preview_instance_z_index]).[br][br] [code]indicator_z_index[/code]: [i]int[/i] - Z-index for rule check indicator display ordering

@export var indicator_z_index: int = 150

base_tile_paint_rules

Global list of rules to validate for all tile paint actions.

@export var base_tile_paint_rules: Array[TilePaintRule] = []

terrain_paint_requires_existing_cell

When true, terrain painting requires an existing cell at the target position — terrain re-paints the map's surface instead of expanding into the void. When false (default, legacy behavior), painting empty space creates new cells.[br][br] [code]terrain_paint_requires_existing_cell[/code]: [i]bool[/i] - Gate terrain paints to occupied cells

@export var terrain_paint_requires_existing_cell: bool = false

preview_root_script

Script to be added to the root of any preview instance node temporarily created by the building system after non-kept scripts are stripped out. Does not override an existing script in the root.

@export var preview_root_script: Script = load("res://addons/grid_building/components/building_node.gd")

Methods

get_editor_issues

func get_editor_issues() -> Array[String]:

Returns

get_runtime_issues

func get_runtime_issues() -> Array[String]:

Returns