Table of Contents

Class DemolishData

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

Specialized [ManipulationData] for the DEMOLISH action.\n\nCarries a live [Manipulatable] reference for pre-destroy inspection and exposes a [method veto] hook that listeners can call from the [signal ManipulationState.pre_demolish] callback to cancel the demolition. The base [member ManipulationData.target] is also populated (it was historically [code]null[/code] on the demolish path) so existing consumers that walk the data shape don't have to special-case demolish.\n\nLifecycle (5.1.0-C): [codeblock] try_demolish: status = STARTED emit pre_demolish(data) # listeners may call data.veto() if data.vetoed: status = CANCELED return root.queue_free() status = FINISHED [/codeblock]

class DemolishData extends ManipulationData
DemolishData

Properties

demolish_target

Live [Manipulatable] that will be destroyed if no listener vetoes. This is the same reference that flows through [member ManipulationData.source] but exposed explicitly on the demolish data so listeners can read it without walking the data shape.

var demolish_target: Manipulatable

vetoed

True after any [signal ManipulationState.pre_demolish] listener calls [method veto]. [code]try_demolish[/code] checks this flag after the signal fires and short-circuits to [enum PlacementEnums.Status.CANCELED] when set, preserving the [Node] from [code]queue_free[/code].

var vetoed: bool = false

Methods

veto

func veto() -> void:

Returns