refactor: don't juggle types; avoid getter
This commit is contained in:
parent
7ccb89226c
commit
b899a9dc48
|
@ -6,8 +6,8 @@ export class Listed extends Trait {
|
|||
|
||||
initialize() {
|
||||
this._list = undefined;
|
||||
this.quadTreeAabb = undefined;
|
||||
this.quadTreeNodes = undefined;
|
||||
this.quadTreeAabb = [];
|
||||
this.quadTreeNodes = [];
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
@ -51,14 +51,6 @@ export class Listed extends Trait {
|
|||
}
|
||||
|
||||
get doesNeedReset() {
|
||||
if (AVOCADO_CLIENT) {
|
||||
return false;
|
||||
}
|
||||
if (!this.quadTreeAabb) {
|
||||
return true;
|
||||
}
|
||||
const aabb = this.entity.visibleAabb;
|
||||
return !Rectangle.isInside(this.quadTreeAabb, aabb);
|
||||
}
|
||||
|
||||
removeQuadTreeNodes() {
|
||||
|
@ -66,18 +58,25 @@ export class Listed extends Trait {
|
|||
if (!list) {
|
||||
return;
|
||||
}
|
||||
if (this.quadTreeNodes) {
|
||||
if (this.quadTreeNodes.length > 0) {
|
||||
const quadTree = list.quadTree;
|
||||
for (const node of this.quadTreeNodes) {
|
||||
quadTree.remove(node);
|
||||
}
|
||||
this.quadTreeAabb = undefined;
|
||||
this.quadTreeNodes = undefined;
|
||||
this.quadTreeAabb = [];
|
||||
this.quadTreeNodes = [];
|
||||
}
|
||||
}
|
||||
|
||||
resetQuadTreeNodes() {
|
||||
if (!this.doesNeedReset) {
|
||||
if (AVOCADO_CLIENT) {
|
||||
return;
|
||||
}
|
||||
const aabb = this.entity.visibleAabb;
|
||||
if (
|
||||
this.quadTreeAabb.length > 0
|
||||
&& Rectangle.isInside(this.quadTreeAabb, aabb)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
this.removeQuadTreeNodes();
|
||||
|
|
Loading…
Reference in New Issue
Block a user