Skip to content

Class

TerrainDemolishData

Generated GDScript class reference for GridPlacement.TerrainDemolishData.

Status
Current
Version
v6.0
Source updated
Active v6.0 guide line from Grid Placement repo
Generated on
2026-09-01

Specialized [ManipulationData] for the terrain DEMOLISH action. Carries the terrain name, cells to erase, target map, and cell count for demolish operations. Exposes a [method veto] hook that listeners can call from the [signal PlacementState.pre_terrain_demolish] callback to cancel the demolition. Lifecycle (5.1.0-P): [codeblock] try_demolish_terrain: status = STARTED emit pre_terrain_demolish(data) # listeners may call data.veto() if data.vetoed: status = CANCELED return erase_cells() emit post_terrain_demolish(data) emit post_terrain_removed(data) status = FINISHED [/codeblock]

Source: addons/grid_placement/placement/terrain/terrain_demolish_data.gd

Syntax

class TerrainDemolishData extends ManipulationData

Members

NameKindSummary
terrain_namePropertyThe terrain name being demolished (e.g. "dungeon_floor"). Resolved from the TileSet at erase time.
cellsPropertyThe grid cells to erase.
target_mapPropertyThe TileMapLayer where the terrain will be erased.
vetoedPropertyTrue after any [signal PlacementState.pre_terrain_demolish] listener calls [method veto]. [code]try_demolish_terrain[/code] checks this flag after the signal fires and short-circuits to [enum PlacementEnums.Status.CANCELED] when set, preserving the terrain.
build_costPropertyBuildCost snapshot for the demolish — set by terrain_placement_service when the demolish is initiated, so refunder pool has a stable value at handler time. Null cost → no refund (legacy / no-cost terrains), per AGENTS.md non-blocking policy.
vetoMethod