From ee7608c2117b6be6de55833970de308d0a5121b0 Mon Sep 17 00:00:00 2001 From: cha0s Date: Wed, 16 Oct 2019 01:09:34 -0500 Subject: [PATCH] refactor: setDirty --- packages/entity/trait/index.js | 8 ++++++-- packages/entity/traits/positioned.trait.js | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/entity/trait/index.js b/packages/entity/trait/index.js index 37ed3d6..66c8649 100644 --- a/packages/entity/trait/index.js +++ b/packages/entity/trait/index.js @@ -108,6 +108,11 @@ export class Trait extends decorate(class {}) { return false; } + setDirty() { + this._fastDirtyCheck = true; + this.entity._fastDirtyCheck = true; + } + stateDifferences() { const differences = {}; for (const key in this.state) { @@ -154,8 +159,7 @@ export function StateProperty(key, meta = {}) { `); meta.set = meta.set || new Function('value', ` if (value !== this.${transformedProperty}) { - this._fastDirtyCheck = true; - this.entity._fastDirtyCheck = true; + this.setDirty(); } this.${transformedProperty} = value; this.state['${key}'] = value; diff --git a/packages/entity/traits/positioned.trait.js b/packages/entity/traits/positioned.trait.js index 973c236..14a5ac9 100644 --- a/packages/entity/traits/positioned.trait.js +++ b/packages/entity/traits/positioned.trait.js @@ -62,8 +62,7 @@ export class Positioned extends decorate(Trait) { if (AVOCADO_SERVER) { this.state.x = newPosition[0]; this.state.y = newPosition[1]; - this.entity._fastDirtyCheck = true; - this._fastDirtyCheck = true; + this.setDirty(); } this.entity.emit('positionChanged', oldPosition, newPosition); }