优化getComponent与getComponents性能

This commit is contained in:
yhh
2021-04-26 15:23:16 +08:00
parent d576a95548
commit bc6920f829
7 changed files with 215 additions and 127 deletions
+14 -11
View File
@@ -154,12 +154,6 @@ module es {
}
this._entitiesToAdded = {};
// this._isEntityListUnsorted = true;
// if (this._isEntityListUnsorted) {
// this._entities.sort(Entity.entityComparer.compare);
// this._isEntityListUnsorted = false;
// }
}
/**
@@ -172,11 +166,6 @@ module es {
return this._entities[i];
}
// for (let i = 0; i < this._entitiesToAdded.size; i++) {
// let entity = this._entitiesToAdded.values;
// if (entity.name == name)
// return entity;
// }
for (let i in this._entitiesToAdded) {
let entity = this._entitiesToAdded[i];
if (entity.name == name)
@@ -186,6 +175,20 @@ module es {
return null;
}
/**
*
* @param id
* @returns
*/
public findEntityById(id: number) {
for (let i = 0; i < this._entities.length; i ++) {
if (this._entities[i].id == id)
return this._entities[i];
}
return this._entitiesToAdded[id];
}
/**
* 返回带有标签的所有实体的列表。如果没有实体有标签,则返回一个空列表。
* 返回的List可以通过ListPool.free放回池中