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:
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
- BlueprintBlock for the discriminated union type
- NativeProperties for execution-related properties
- BlockMetadata for non-logic display metadata
Extended by
Properties
isStartBlock?
optionalisStartBlock?:boolean
Defined in: types.ts:260
When true, this block is the entry point of the scene. Only one per scene.
label?
optionallabel?:string
Defined in: types.ts:248
Display label assigned in the editor.
metadata?
optionalmetadata?:BlockMetadata
Defined in: types.ts:258
Non-logic metadata for display and organization.
nativeProperties?
optionalnativeProperties?:NativeProperties
Defined in: types.ts:256
LSDE native execution properties (async, delay, portPerCharacter, etc.).
parentLabels?
optionalparentLabels?: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?
optionaluserProperties?: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.
