@drincs/pixi-vn-json
Version:
Pixi'VN can be integrated with JSON files to create a visual novel.
71 lines (68 loc) • 2.56 kB
text/typescript
import { ImageContainerOptions, ImageSprite, ImageSpriteOptions, CanvasImageMemory, CanvasVideoMemory, ImageContainerMemory, ContainerOptions, ContainerMemory } from '@drincs/pixi-vn';
import PixiVNJsonCanvasEffect from './PixiVNJsonCanvasEffect.cjs';
import PixiVNJsonCanvasTicker from './PixiVNJsonCanvasTicker.cjs';
import PixiVNJsonMediaTransiotions from './PixiVNJsonMediaTransiotions.cjs';
type PixiVNJsonCanvasImageVideoShow = {
type: "image" | "video";
operationType: "show";
alias: string;
/**
* The url of the image or video.
* If the url is not provided, the url will be set to the alias.
*/
url?: string;
props?: ImageSpriteOptions;
transition?: PixiVNJsonMediaTransiotions;
};
type PixiVNJsonCanvasImageContainerShow = {
type: "imagecontainer";
operationType: "show";
alias: string;
urls: string[];
props?: ImageContainerOptions<ImageSprite>;
transition?: PixiVNJsonMediaTransiotions;
};
type PixiVNJsonImageEdit = {
type: "image";
operationType: "edit";
alias: string;
props?: Partial<CanvasImageMemory>;
};
type PixiVNJsonVideoEdit = {
type: "video";
operationType: "edit";
alias: string;
props?: Partial<CanvasVideoMemory>;
};
type PixiVNJsonImageContainerEdit = {
type: "imagecontainer";
operationType: "edit";
alias: string;
props?: Partial<ImageContainerMemory>;
};
type PixiVNJsonUnknownEdit<T extends ContainerOptions> = {
type: "canvaselement";
operationType: "edit";
alias: string;
props?: Partial<T>;
};
type PixiVNJsonCanvasRemove = {
type: "image" | "video" | "imagecontainer" | "canvaselement";
operationType: "remove";
alias: string;
transition?: PixiVNJsonMediaTransiotions;
};
type PixiVNJsonVideoPauseResume = {
type: "video";
operationType: "pause" | "resume";
alias: string;
};
type PixiVNJsonAssetsLoad = {
type: "assets";
operationType: "load";
assets: string[];
};
type PixiVNJsonCanvasShow = PixiVNJsonCanvasImageContainerShow | PixiVNJsonCanvasImageVideoShow;
type PixiVNJsonCanvasEdit = PixiVNJsonImageEdit | PixiVNJsonVideoEdit | PixiVNJsonImageContainerEdit | PixiVNJsonUnknownEdit<CanvasImageMemory | CanvasVideoMemory | ContainerMemory>;
type PixiVNJsonCanvas = PixiVNJsonCanvasShow | PixiVNJsonCanvasEdit | PixiVNJsonCanvasRemove | PixiVNJsonVideoPauseResume | PixiVNJsonAssetsLoad | PixiVNJsonCanvasTicker | PixiVNJsonCanvasEffect;
export type { PixiVNJsonCanvasEdit, PixiVNJsonCanvasRemove, PixiVNJsonCanvasShow, PixiVNJsonCanvas as default };