2025-06-09 14:51:26 +08:00
|
|
|
|
import { EntitySystem } from './EntitySystem';
|
|
|
|
|
|
import { Entity } from '../Entity';
|
2025-07-31 11:56:04 +08:00
|
|
|
|
import { Matcher } from '../Utils/Matcher';
|
2025-06-09 14:51:26 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 处理系统抽象类
|
|
|
|
|
|
* 定义一个处理实体的抽象类,继承自EntitySystem类
|
|
|
|
|
|
* 子类需要实现processSystem方法,用于实现具体的处理逻辑
|
|
|
|
|
|
*/
|
|
|
|
|
|
export abstract class ProcessingSystem extends EntitySystem {
|
2025-11-01 17:41:50 +08:00
|
|
|
|
|
2025-07-31 11:56:04 +08:00
|
|
|
|
constructor(matcher?: Matcher) {
|
|
|
|
|
|
super(matcher);
|
|
|
|
|
|
}
|
2025-06-09 14:51:26 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 处理实体,每帧调用processSystem方法进行处理
|
|
|
|
|
|
* @param entities 实体数组,未被使用
|
|
|
|
|
|
*/
|
2025-10-31 16:14:23 +08:00
|
|
|
|
protected override process(_entities: Entity[]): void {
|
2025-06-09 14:51:26 +08:00
|
|
|
|
// 调用子类实现的processSystem方法进行实体处理
|
|
|
|
|
|
this.processSystem();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 处理实体的具体方法,由子类实现
|
|
|
|
|
|
*/
|
|
|
|
|
|
public abstract processSystem(): void;
|
|
|
|
|
|
}
|