2020-07-23 11:00:46 +08:00
|
|
|
|
module es {
|
2023-03-13 17:46:16 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 定义一个处理实体的抽象类,继承自 EntitySystem 类。
|
|
|
|
|
|
* 子类需要实现 processSystem 方法,用于实现具体的处理逻辑。
|
|
|
|
|
|
*/
|
2020-07-23 11:00:46 +08:00
|
|
|
|
export abstract class ProcessingSystem extends EntitySystem {
|
2023-03-13 17:46:16 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 当实体发生变化时,不进行任何操作。
|
|
|
|
|
|
* @param entity 发生变化的实体
|
|
|
|
|
|
*/
|
|
|
|
|
|
public onChanged(entity: Entity) { }
|
2020-07-28 16:25:20 +08:00
|
|
|
|
|
2023-03-13 17:46:16 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理实体,每帧调用 processSystem 方法进行处理。
|
|
|
|
|
|
* @param entities 实体数组,未被使用
|
|
|
|
|
|
*/
|
2020-07-28 16:25:20 +08:00
|
|
|
|
protected process(entities: Entity[]) {
|
2023-03-13 17:46:16 +08:00
|
|
|
|
// 调用 begin 和 end 方法,开始和结束计时
|
2020-07-23 11:00:46 +08:00
|
|
|
|
this.begin();
|
2023-03-13 17:46:16 +08:00
|
|
|
|
// 调用子类实现的 processSystem 方法进行实体处理
|
2020-07-23 11:00:46 +08:00
|
|
|
|
this.processSystem();
|
|
|
|
|
|
this.end();
|
|
|
|
|
|
}
|
2023-03-13 17:46:16 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 处理实体的具体方法,由子类实现。
|
|
|
|
|
|
*/
|
|
|
|
|
|
public abstract processSystem(): void;
|
2020-07-23 11:00:46 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|