From 147b8d155695e99b16503ef2deb0e3b10a28a424 Mon Sep 17 00:00:00 2001 From: cha0s Date: Mon, 30 Sep 2019 15:53:10 -0500 Subject: [PATCH] fix: animated packet --- packages/timing/packets/trait-animated.packet.js | 12 ------------ .../packets/trait-update-animated.packet.js | 15 +++++++++++++++ packages/timing/traits/animated.trait.js | 14 ++++++++++---- 3 files changed, 25 insertions(+), 16 deletions(-) delete mode 100644 packages/timing/packets/trait-animated.packet.js create mode 100644 packages/timing/packets/trait-update-animated.packet.js diff --git a/packages/timing/packets/trait-animated.packet.js b/packages/timing/packets/trait-animated.packet.js deleted file mode 100644 index 8f8ea47..0000000 --- a/packages/timing/packets/trait-animated.packet.js +++ /dev/null @@ -1,12 +0,0 @@ -import {Packet} from '@avocado/net'; - -export class TraitAnimatedPacket extends Packet { - - static get schema() { - const schema = super.schema; - schema.data.currentAnimation = 'string'; - schema.data.isAnimating = 'bool'; - return schema; - } - -} diff --git a/packages/timing/packets/trait-update-animated.packet.js b/packages/timing/packets/trait-update-animated.packet.js new file mode 100644 index 0000000..86d812b --- /dev/null +++ b/packages/timing/packets/trait-update-animated.packet.js @@ -0,0 +1,15 @@ +import {Packet} from '@avocado/net'; + +export class TraitUpdateAnimatedPacket extends Packet { + + static get schema() { + return { + ...super.schema, + data: { + currentAnimation: 'string', + isAnimating: 'bool', + }, + }; + } + +} diff --git a/packages/timing/traits/animated.trait.js b/packages/timing/traits/animated.trait.js index ed678cd..8932c47 100644 --- a/packages/timing/traits/animated.trait.js +++ b/packages/timing/traits/animated.trait.js @@ -4,7 +4,7 @@ import {Rectangle, Vector} from '@avocado/math'; import {Animation} from '../animation'; import {AnimationView} from '../animation-view'; -import {TraitAnimatedPacket} from '../packets/trait-animated.packet'; +import {TraitUpdateAnimatedPacket} from '../packets/trait-update-animated.packet'; const decorate = compose( StateProperty('currentAnimation', { @@ -63,7 +63,7 @@ export class Animated extends decorate(Trait) { } acceptPacket(packet) { - if (packet instanceof TraitAnimatedPacket) { + if (packet instanceof TraitUpdateAnimatedPacket) { this.entity.currentAnimation = packet.data.currentAnimation; this.entity.isAnimating = packet.data.isAnimating; } @@ -144,8 +144,14 @@ export class Animated extends decorate(Trait) { return this._animations[key].offset; } - packetsForUpdate() { - return this.createTraitPacketUpdates(TraitAnimatedPacket); + packets(informed) { + const {currentAnimation, isAnimating} = this.stateDifferences(); + if (currentAnimation || isAnimating) { + return new TraitUpdateAnimatedPacket({ + currentAnimation: this.state.currentAnimation, + isAnimating: this.state.isAnimating, + }); + } } promiseAnimations() {