修复entityList获取实体失败问题
This commit is contained in:
2
source/bin/framework.d.ts
vendored
2
source/bin/framework.d.ts
vendored
@@ -1157,7 +1157,7 @@ declare module es {
|
||||
* 返回第一个找到的名字为name的实体。如果没有找到则返回null
|
||||
* @param name
|
||||
*/
|
||||
findEntity(name: string): any;
|
||||
findEntity(name: string): Entity;
|
||||
/**
|
||||
* 返回带有标签的所有实体的列表。如果没有实体有标签,则返回一个空列表。
|
||||
* 返回的List可以通过ListPool.free放回池中
|
||||
|
||||
@@ -2653,11 +2653,11 @@ var es;
|
||||
// 它们仍然会在_entitiesToRemove列表中,这将由updateLists处理。
|
||||
this.updateLists();
|
||||
for (var i = 0; i < this._entities.length; i++) {
|
||||
this._entities[i]._isDestroyed = true;
|
||||
this._entities[i].onRemovedFromScene();
|
||||
this._entities[i].scene = null;
|
||||
this._entities.buffer[i]._isDestroyed = true;
|
||||
this._entities.buffer[i].onRemovedFromScene();
|
||||
this._entities.buffer[i].scene = null;
|
||||
}
|
||||
this._entities.length = 0;
|
||||
this._entities.clear();
|
||||
this._entityDict.clear();
|
||||
};
|
||||
/**
|
||||
@@ -2741,8 +2741,8 @@ var es;
|
||||
*/
|
||||
EntityList.prototype.findEntity = function (name) {
|
||||
for (var i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].name == name)
|
||||
return this._entities[i];
|
||||
if (this._entities.buffer[i].name == name)
|
||||
return this._entities.buffer[i];
|
||||
}
|
||||
for (var i = 0; i < this._entitiesToAdded.getCount(); i++) {
|
||||
var entity = this._entitiesToAdded.toArray()[i];
|
||||
@@ -2772,8 +2772,8 @@ var es;
|
||||
EntityList.prototype.entitiesOfType = function (type) {
|
||||
var list = es.ListPool.obtain();
|
||||
for (var i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i] instanceof type)
|
||||
list.push(this._entities[i]);
|
||||
if (this._entities.buffer[i] instanceof type)
|
||||
list.push(this._entities.buffer[i]);
|
||||
}
|
||||
for (var i = 0; i < this._entitiesToAdded.getCount(); i++) {
|
||||
var entity = this._entitiesToAdded.toArray()[i];
|
||||
@@ -2789,7 +2789,7 @@ var es;
|
||||
*/
|
||||
EntityList.prototype.findComponentOfType = function (type) {
|
||||
for (var i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].enabled) {
|
||||
if (this._entities.buffer[i].enabled) {
|
||||
var comp = this._entities.buffer[i].getComponent(type);
|
||||
if (comp)
|
||||
return comp;
|
||||
@@ -2813,8 +2813,8 @@ var es;
|
||||
EntityList.prototype.findComponentsOfType = function (type) {
|
||||
var comps = es.ListPool.obtain();
|
||||
for (var i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].enabled)
|
||||
this._entities[i].getComponents(type, comps);
|
||||
if (this._entities.buffer[i].enabled)
|
||||
this._entities.buffer[i].getComponents(type, comps);
|
||||
}
|
||||
for (var i = 0; i < this._entitiesToAdded.getCount(); i++) {
|
||||
var entity = this._entitiesToAdded.toArray()[i];
|
||||
|
||||
2
source/bin/framework.min.js
vendored
2
source/bin/framework.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -84,12 +84,12 @@ module es {
|
||||
this.updateLists();
|
||||
|
||||
for (let i = 0; i < this._entities.length; i++) {
|
||||
this._entities[i]._isDestroyed = true;
|
||||
this._entities[i].onRemovedFromScene();
|
||||
this._entities[i].scene = null;
|
||||
this._entities.buffer[i]._isDestroyed = true;
|
||||
this._entities.buffer[i].onRemovedFromScene();
|
||||
this._entities.buffer[i].scene = null;
|
||||
}
|
||||
|
||||
this._entities.length = 0;
|
||||
this._entities.clear();
|
||||
this._entityDict.clear();
|
||||
}
|
||||
|
||||
@@ -191,8 +191,8 @@ module es {
|
||||
*/
|
||||
public findEntity(name: string) {
|
||||
for (let i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].name == name)
|
||||
return this._entities[i];
|
||||
if (this._entities.buffer[i].name == name)
|
||||
return this._entities.buffer[i];
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._entitiesToAdded.getCount(); i ++){
|
||||
@@ -228,8 +228,8 @@ module es {
|
||||
public entitiesOfType<T extends Entity>(type): T[] {
|
||||
let list = ListPool.obtain<T>();
|
||||
for (let i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i] instanceof type)
|
||||
list.push(this._entities[i] as T);
|
||||
if (this._entities.buffer[i] instanceof type)
|
||||
list.push(this._entities.buffer[i] as T);
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._entitiesToAdded.getCount(); i ++){
|
||||
@@ -248,7 +248,7 @@ module es {
|
||||
*/
|
||||
public findComponentOfType<T extends Component>(type): T {
|
||||
for (let i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].enabled) {
|
||||
if (this._entities.buffer[i].enabled) {
|
||||
let comp = this._entities.buffer[i].getComponent<T>(type);
|
||||
if (comp)
|
||||
return comp;
|
||||
@@ -275,8 +275,8 @@ module es {
|
||||
public findComponentsOfType<T extends Component>(type): T[] {
|
||||
let comps = ListPool.obtain<T>();
|
||||
for (let i = 0; i < this._entities.length; i++) {
|
||||
if (this._entities[i].enabled)
|
||||
this._entities[i].getComponents(type, comps);
|
||||
if (this._entities.buffer[i].enabled)
|
||||
this._entities.buffer[i].getComponents(type, comps);
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._entitiesToAdded.getCount(); i++) {
|
||||
|
||||
Reference in New Issue
Block a user