avocado-old/packages/entity/packets/entity-update-trait.packet.js
2019-09-30 01:36:02 -05:00

35 lines
794 B
JavaScript

import {BundlePacket, SynchronizedUpdatePacket} from '@avocado/net';
export class EntityUpdateTraitPacket extends SynchronizedUpdatePacket {
static pack(packet) {
const data = packet.data[1];
for (let i = 0; i < data.traits.length; i++) {
data.traits[i].packets = BundlePacket.packPacket(
new BundlePacket(data.traits[i].packets)
);
}
return super.pack(packet);
}
static get synchronizationSchema() {
return {
traits: [
{
type: 'string',
packets: 'buffer',
},
],
};
}
static unpack(packet) {
const data = super.unpack(packet);
for (let i = 0; i < data.traits.length; i++) {
data.traits[i].packets = BundlePacket.unpack(data.traits[i].packets);
}
return data;
}
}