@drincs/pixi-vn-json
Version:
Pixi'VN can be integrated with JSON files to create a visual novel.
74 lines (71 loc) • 6.74 kB
TypeScript
import { ImageSpriteMemory, VideoSpriteMemory, ContainerMemory, ContainerChild, StepLabelPropsType, StorageElementType } from '@drincs/pixi-vn';
import { P as PixiVNJsonOperation, a as PixiVNJsonIfElse, b as PixiVNJsonOperationString, c as PixiVNJsonSound, d as PixiVNJsonCanvasImageVideoShow, e as PixiVNJsonImageEdit, f as PixiVNJsonCanvasRemove, g as PixiVNJsonVideoEdit, h as PixiVNJsonVideoPauseResume, i as PixiVNJsonCanvasImageContainerShow, j as PixiVNJsonImageContainerEdit, k as PixiVNJsonCanvasTextShow, l as PixiVNJsonTextEdit, m as PixiVNJsonUnknownEdit, n as PixiVNJsonValueSet, o as PixiVNJsonOnlyStorageSet, p as PixiVNJsonNarration, q as PixiVNJsonCanvasEffect, r as PixiVNJsonCanvasAnimate, s as PixiVNJsonValueGet, t as PixiVNJsonArithmeticOperations, u as PixiVNJsonConditions, v as PixiVNJsonConditionalStatements, w as PixiVNJsonLabelStep } from './PixiVNJsonLabelStep-B335RwgE.js';
import '@drincs/pixi-vn/motion';
import 'pixi.js';
declare class JsonUnifier {
/**
* Registers the operation handlers that pixi-vn-json will delegate to at runtime.
* Call this once at application startup (e.g. via {@link init}) before importing any labels.
*
* All parameters are optional except `setInitialStorageValue`, which is required because
* it must be available for initial-operation processing during label import.
*/
static init(options: {
loadAssets?: (origin: PixiVNJsonOperation | PixiVNJsonIfElse<PixiVNJsonOperation> | PixiVNJsonOperationString) => Promise<void> | void;
soundOperation?: (operation: PixiVNJsonSound) => void;
imageOperation?: (operation: PixiVNJsonCanvasImageVideoShow | PixiVNJsonImageEdit | PixiVNJsonCanvasRemove) => Promise<void>;
videoOperation?: (operation: PixiVNJsonCanvasImageVideoShow | PixiVNJsonCanvasRemove | PixiVNJsonVideoEdit | PixiVNJsonVideoPauseResume) => Promise<void>;
imageContainerOperation?: (operation: PixiVNJsonCanvasRemove | PixiVNJsonCanvasImageContainerShow | PixiVNJsonImageContainerEdit) => Promise<void>;
textOperation?: (operation: PixiVNJsonCanvasRemove | PixiVNJsonCanvasTextShow | PixiVNJsonTextEdit) => Promise<void>;
canvasElementOperation?: (operation: PixiVNJsonCanvasRemove | PixiVNJsonUnknownEdit<ImageSpriteMemory | VideoSpriteMemory | ContainerMemory<ContainerChild>>) => Promise<void>;
setStorageValue?: (value: PixiVNJsonValueSet, props?: StepLabelPropsType) => void;
setInitialStorageValue: (value: PixiVNJsonOnlyStorageSet, props?: StepLabelPropsType) => void;
narrationOperation?: (operation: PixiVNJsonNarration) => void;
effectOperation?: (operation: PixiVNJsonCanvasEffect) => Promise<void>;
animateOperation?: (operation: PixiVNJsonCanvasAnimate) => void;
getLogichValue?: <T = StorageElementType>(value: T | PixiVNJsonValueGet | PixiVNJsonArithmeticOperations | PixiVNJsonConditions | PixiVNJsonConditionalStatements<T | PixiVNJsonValueGet | PixiVNJsonArithmeticOperations | PixiVNJsonConditions>, props?: StepLabelPropsType) => T | undefined;
getConditionalStep?: (originalStep: PixiVNJsonLabelStep, props?: StepLabelPropsType) => PixiVNJsonLabelStep;
}): void;
private static _loadAssets;
/** Registered handler for loading/lazy-loading assets. */
static get loadAssets(): (origin: PixiVNJsonOperation | PixiVNJsonIfElse<PixiVNJsonOperation> | PixiVNJsonOperationString) => Promise<void> | void;
private static _soundOperation;
/** Registered handler for sound play/stop/pause/resume/edit operations. */
static get soundOperation(): (operation: PixiVNJsonSound) => void;
private static _imageOperation;
/** Registered handler for {@link ImageSprite} show/edit/remove operations. */
static get imageOperation(): (operation: PixiVNJsonCanvasImageVideoShow | PixiVNJsonImageEdit | PixiVNJsonCanvasRemove) => Promise<void>;
private static _videoOperation;
/** Registered handler for {@link VideoSprite} show/edit/remove/pause/resume operations. */
static get videoOperation(): (operation: PixiVNJsonCanvasImageVideoShow | PixiVNJsonCanvasRemove | PixiVNJsonVideoEdit | PixiVNJsonVideoPauseResume) => Promise<void>;
private static _imageContainerOperation;
static get imageContainerOperation(): (operation: PixiVNJsonCanvasRemove | PixiVNJsonCanvasImageContainerShow | PixiVNJsonImageContainerEdit) => Promise<void>;
private static _textOperation;
/** Registered handler for {@link Text} show/edit/remove operations. */
static get textOperation(): (operation: PixiVNJsonCanvasRemove | PixiVNJsonCanvasTextShow | PixiVNJsonTextEdit) => Promise<void>;
private static _canvasElementOperation;
/** Registered handler for generic canvas-element edit/remove operations. */
static get canvasElementOperation(): (operation: PixiVNJsonCanvasRemove | PixiVNJsonUnknownEdit<ImageSpriteMemory | VideoSpriteMemory | ContainerMemory<ContainerChild>>) => Promise<void>;
private static _setStorageValue;
/** Registered handler for setting a storage value during label execution. */
static get setStorageValue(): (value: PixiVNJsonValueSet, props?: StepLabelPropsType) => void;
private static _setInitialStorageValue;
/** Registered handler for setting a default (initial) storage value at import time. */
static get setInitialStorageValue(): (value: PixiVNJsonOnlyStorageSet, props?: StepLabelPropsType) => void;
private static _narrationOperation;
/** Registered handler for narration operations (input requests, dialogue resets). */
static get narrationOperation(): (operation: PixiVNJsonNarration) => void;
private static _effectOperation;
/** Registered handler for canvas visual effects (e.g. shake). */
static get effectOperation(): (operation: PixiVNJsonCanvasEffect) => Promise<void>;
private static _animateOperation;
/** Registered handler for keyframe animation operations. */
static get animateOperation(): (operation: PixiVNJsonCanvasAnimate) => void;
private static _getLogichValue;
/** Registered handler that evaluates a JSON logic expression to a plain value. */
static get getLogichValue(): <T = StorageElementType>(value: T | PixiVNJsonValueGet | PixiVNJsonArithmeticOperations | PixiVNJsonConditions | PixiVNJsonConditionalStatements<T | PixiVNJsonValueGet | PixiVNJsonArithmeticOperations | PixiVNJsonConditions>, props?: StepLabelPropsType) => T | undefined;
private static _getConditionalStep;
/** Registered handler that resolves a label step's `conditionalStep` field. */
static get getConditionalStep(): (originalStep: PixiVNJsonLabelStep, props?: StepLabelPropsType) => PixiVNJsonLabelStep;
}
export { JsonUnifier };