30 lines
908 B
TypeScript
30 lines
908 B
TypeScript
import { EntitySystem } from './EntitySystem';
|
||
import { Entity } from '../Entity';
|
||
|
||
/**
|
||
* 处理系统抽象类
|
||
* 定义一个处理实体的抽象类,继承自EntitySystem类
|
||
* 子类需要实现processSystem方法,用于实现具体的处理逻辑
|
||
*/
|
||
export abstract class ProcessingSystem extends EntitySystem {
|
||
/**
|
||
* 当实体发生变化时,不进行任何操作
|
||
* @param entity 发生变化的实体
|
||
*/
|
||
public override onChanged(entity: Entity): void { }
|
||
|
||
/**
|
||
* 处理实体,每帧调用processSystem方法进行处理
|
||
* @param entities 实体数组,未被使用
|
||
*/
|
||
protected override process(entities: Entity[]): void {
|
||
// 调用子类实现的processSystem方法进行实体处理
|
||
this.processSystem();
|
||
}
|
||
|
||
/**
|
||
* 处理实体的具体方法,由子类实现
|
||
*/
|
||
public abstract processSystem(): void;
|
||
}
|