87 lines
1.6 KiB
TypeScript
87 lines
1.6 KiB
TypeScript
|
/** 参数类型 */
|
|||
|
export enum ParamType {
|
|||
|
COMPLETE = 0,
|
|||
|
BOOLEAN = 1,
|
|||
|
NUMBER = 2,
|
|||
|
TRIGGER = 3,
|
|||
|
AUTO_TRIGGER = 4
|
|||
|
}
|
|||
|
|
|||
|
/** 逻辑类型 */
|
|||
|
export enum LogicType {
|
|||
|
EQUAL = 0,
|
|||
|
NOTEQUAL = 1,
|
|||
|
GREATER = 2,
|
|||
|
LESS = 3,
|
|||
|
GREATER_EQUAL = 4,
|
|||
|
LESS_EQUAL = 5
|
|||
|
}
|
|||
|
|
|||
|
/** 调用时机 */
|
|||
|
export enum CheckType {
|
|||
|
/** 每帧调用 */
|
|||
|
CHECK_ON_UPDATE = 1,
|
|||
|
/** 动画结束 */
|
|||
|
CHECK_ON_COMPLETE = 2,
|
|||
|
CHECK_ON_TRIGGER = 3
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 参数数据
|
|||
|
*/
|
|||
|
export interface ParameterData {
|
|||
|
/** 参数名 */
|
|||
|
param: string;
|
|||
|
/** 参数类型 */
|
|||
|
type: ParamType;
|
|||
|
/** 初始值 */
|
|||
|
init: number;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 状态数据
|
|||
|
*/
|
|||
|
export interface StateData {
|
|||
|
/** 状态名 */
|
|||
|
state: string;
|
|||
|
/** 动画名 */
|
|||
|
motion: string;
|
|||
|
/** 动画播放速度 */
|
|||
|
speed: number;
|
|||
|
/** number类型的参数名,用于speed的乘积 */
|
|||
|
multiplier: string;
|
|||
|
/** 动画是否循环播放 */
|
|||
|
loop: boolean;
|
|||
|
/** 连线 */
|
|||
|
transitions: TransitionData[];
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 连线数据
|
|||
|
*/
|
|||
|
export interface TransitionData {
|
|||
|
/** 目标状态 */
|
|||
|
toState: string;
|
|||
|
/** 是否等动画播放完跳转 */
|
|||
|
hasExitTime: boolean;
|
|||
|
/** 条件 */
|
|||
|
conditions: ConditionData[];
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 条件数据
|
|||
|
*/
|
|||
|
export interface ConditionData {
|
|||
|
/** 此条件对应的参数名 */
|
|||
|
param: string;
|
|||
|
/** 此条件对应的值 */
|
|||
|
value: number;
|
|||
|
/** 此条件与值比较的逻辑 */
|
|||
|
logic: LogicType;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 编辑器版本号
|
|||
|
*/
|
|||
|
export const ANIMATOR_VERSION = '1.0.0';
|