完全删除 byComponentType
This commit is contained in:
@@ -285,14 +285,6 @@ export class QuerySystem {
|
|||||||
* 将实体添加到各种索引中
|
* 将实体添加到各种索引中
|
||||||
*/
|
*/
|
||||||
private addEntityToIndexes(entity: Entity): void {
|
private addEntityToIndexes(entity: Entity): void {
|
||||||
// 组件类型索引改为lazy cache,这里只清除相关缓存
|
|
||||||
const components = entity.components;
|
|
||||||
for (let i = 0; i < components.length; i++) {
|
|
||||||
const componentType = components[i].constructor as ComponentType;
|
|
||||||
// 清除该组件类型的缓存,下次查询时会重新构建
|
|
||||||
this.entityIndex.byComponentType.delete(componentType);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 标签索引
|
// 标签索引
|
||||||
const tag = entity.tag;
|
const tag = entity.tag;
|
||||||
if (tag !== undefined) {
|
if (tag !== undefined) {
|
||||||
@@ -341,13 +333,6 @@ export class QuerySystem {
|
|||||||
* 从各种索引中移除实体
|
* 从各种索引中移除实体
|
||||||
*/
|
*/
|
||||||
private removeEntityFromIndexes(entity: Entity): void {
|
private removeEntityFromIndexes(entity: Entity): void {
|
||||||
// 组件类型索引改为lazy cache,这里只清除相关缓存
|
|
||||||
for (const component of entity.components) {
|
|
||||||
const componentType = component.constructor as ComponentType;
|
|
||||||
// 清除该组件类型的缓存,下次查询时会重新构建
|
|
||||||
this.entityIndex.byComponentType.delete(componentType);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 从标签索引移除
|
// 从标签索引移除
|
||||||
if (entity.tag !== undefined) {
|
if (entity.tag !== undefined) {
|
||||||
const tagSet = this.entityIndex.byTag.get(entity.tag);
|
const tagSet = this.entityIndex.byTag.get(entity.tag);
|
||||||
|
|||||||
Reference in New Issue
Block a user