@tomiaa/live2d
Version:
51 lines (50 loc) • 1.43 kB
TypeScript
import type { Application, IApplicationOptions } from "pixi.js";
import type { Live2DModel as Live2DModelType } from "pixi-live2d-display";
import type { HitokotoOptions } from "@tomiaa/hitokoto";
import type { ModelOption } from "./modelList";
/**
* Live2D 配置选项
*/
export interface Live2dOptions {
el: any;
jsBaseURL?: string;
live2d_2_ModelBaseURL?: string;
live2d_3_ModelBaseURL?: string;
loadLive2d_2?: boolean;
loadLive2d_3?: boolean;
playLoadingAnimation?: boolean;
showLoading?: boolean;
showControl?: boolean;
iApplicationOptions?: IApplicationOptions;
maxWidth?: number;
minWidth?: number;
aspectRatio?: [number, number];
beforeInit?: (data: {
options: Live2dOptions;
modelList: ModelOption[];
}) => void;
afterInit?: (data: {
options: Live2dOptions;
modelList: ModelOption[];
currentModelOption: ModelOption;
Live2DModel: typeof Live2DModelType;
app: Application;
}) => void;
randomPeople?: boolean;
allowDrag?: boolean;
hitokoto?: boolean;
hitokotoOptions?: HitokotoOptions;
}
/**
* 全局 Window 类型扩展
*/
declare global {
interface Window {
PIXI: typeof import("pixi.js") & {
live2d: typeof import("pixi-live2d-display");
};
LIVE2DCUBISMFRAMEWORK: any;
Live2DCubismCore: any;
LIVE2DCUBISMPIXI: any;
}
}