utils_event.js

/**
 * @class
 * @summary 事件枚举
 * @classdesc 用到过的事件枚举
 * @hideconstructor
 * @memberof module:utils
 * @alias EEvent
 * @see [Enumify](https://github.com/rauschma/enumify) 一个枚举的辅助库
 */
export class EEvent {
  /**
   * 控制器初始化事件
   * @summary 初始化
   * @type {symbol}
   * @readonly
   * @static
   */
  static init = Symbol('init');
  /**
   * 控制器销毁事件
   * @summary 销毁
   * @type {symbol}
   * @readonly
   * @static
   */
  static destroy = Symbol('destroy');
  /**
   * 模型开始加载事件
   * @summary 开始加载
   * @type {symbol}
   * @readonly
   * @static
   */
  static modelStart = Symbol('model-start');
  /**
   * 模型加载成功事件
   * @summary 加载成功
   * @type {symbol}
   * @readonly
   * @static
   */
  static modelLoad = Symbol('model-load');
  /**
   * 模型加载失败事件
   * @summary 加载失败
   * @type {symbol}
   * @readonly
   * @static
   */
  static modelError = Symbol('model-error');
  /**
   * 淡入淡出开始事件
   * @summary 过渡开始
   * @type {symbol}
   * @readonly
   * @static
   */
  static fadeStart = Symbol('fade-start');
  /**
   * 淡入淡出结束事件
   * @summary 过渡结束
   * @type {symbol}
   * @readonly
   * @static
   */
  static fadeEnd = Symbol('fade-end');
  /**
   * 淡入淡出取消事件
   * @summary 过渡取消
   * @type {symbol}
   * @readonly
   * @static
   */
  static fadeCancel = Symbol('fade-cancel');
  /**
   * 模型运动开始事件
   * @summary 运动开始
   * @type {symbol}
   * @readonly
   * @static
   */
  static motionStart = Symbol('motion-start');
  /**
   * 模型运动完成事件
   * @summary 运动完成
   * @type {symbol}
   * @readonly
   * @static
   */
  static motionFinish = Symbol('motion-finish');
}


/**
 * 控制器初始化事件
 * @summary 初始化
 * @event EEvent#init
 * @type {TCallback}
 */
/**
 * 控制器销毁事件
 * @summary 销毁
 * @event EEvent#destroy
 * @type {TCallback}
 */
/**
 * 模型开始加载事件
 * @summary 开始加载
 * @event EEvent#modelStart
 * @type {TCallback}
 */
/**
 * 模型加载成功事件
 * @summary 加载成功
 * @event EEvent#modelLoad
 * @param {TRect} options 宽高属性集
 */
/**
 * 模型加载失败事件
 * @summary 加载失败
 * @event EEvent#modelError
 * @param {Error} error 错误对象
 */
/**
 * 淡入淡出开始事件
 * @summary 过渡开始
 * @event EEvent#fadeStart
 */
/**
 * 淡入淡出结束事件
 * @summary 过渡结束
 * @event EEvent#fadeEnd
 */
/**
 * 淡入淡出取消事件
 * @summary 过渡取消
 * @event EEvent#fadeCancel
 */
/**
 * 模型运动开始事件
 * @summary 运动开始
 * @event EEvent#motionStart
 * @param {string} group motion 分组名
 * @param {number} index motion 分组中的索引
 * @param {HTMLAudioElement | null} audio motion 对应的音频
 */
/**
 * 模型运动完成事件
 * @summary 运动完成
 * @event EEvent#motionFinish
 */