Skip to content

LSDE Dialog Engine / BlueprintBlockBase

Interface: BlueprintBlockBase

Defined in: types.ts:242

Common properties shared by all block types.

Remarks

All five block types (DialogBlock, ChoiceBlock, ConditionBlock, ActionBlock, NoteBlock) extend this base. Use the type discriminant field to narrow to a specific block type in TypeScript:

ts
if (block.type === 'DIALOG') {
  // block is DialogBlock here
  console.log(block.dialogueText);
}

The properties array contains designer-defined key-value pairs from the editor's block configuration panel. userProperties is a free-form dictionary for narrative-designer data that doesn't fit the structured property model.

See

Extended by

Properties

isStartBlock?

optional isStartBlock?: boolean

Defined in: types.ts:260

When true, this block is the entry point of the scene. Only one per scene.


label?

optional label?: string

Defined in: types.ts:248

Display label assigned in the editor.


metadata?

optional metadata?: BlockMetadata

Defined in: types.ts:258

Non-logic metadata for display and organization.


nativeProperties?

optional nativeProperties?: NativeProperties

Defined in: types.ts:256

LSDE native execution properties (async, delay, portPerCharacter, etc.).


parentLabels?

optional parentLabels?: string[]

Defined in: types.ts:250

Hierarchy of parent folder labels providing structural context.


properties

properties: BlockProperty[]

Defined in: types.ts:252

Custom key-value properties defined by block configuration.


type

type: BlockType

Defined in: types.ts:246

Block type determining behavior and rendering.


userProperties?

optional userProperties?: Record<string, string | number | boolean>

Defined in: types.ts:254

User-defined custom properties dictionary set by the narrative designer.


uuid

uuid: string

Defined in: types.ts:244

Unique block identifier.