From 1f3a77b2deb84e8ad2b7209757dc7a6fee1be9dc Mon Sep 17 00:00:00 2001 From: Martin Kapal Date: Tue, 23 Apr 2024 20:42:54 +0200 Subject: [PATCH] fix(is_con): Use decorators for unpacking `A` and `B` car contact struct properties --- src/packets/IS_CON.ts | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/src/packets/IS_CON.ts b/src/packets/IS_CON.ts index 1f33f9e..eeec331 100644 --- a/src/packets/IS_CON.ts +++ b/src/packets/IS_CON.ts @@ -1,5 +1,4 @@ -import { byte, word } from '../decorators'; -import { copyBuffer } from '../lfspack'; +import { byte, struct, word } from '../decorators'; import { Packet } from './base'; import { PacketType } from './enums'; import { CarContact } from './structs'; @@ -24,30 +23,8 @@ export class IS_CON extends Packet { @word() Time = 0; /** Contact object - car A */ - A: CarContact = new CarContact(); + @struct(CarContact) A = new CarContact(); /** Contact object - car B */ - B: CarContact = new CarContact(); - - unpack(buffer: Uint8Array): this { - super.unpack(buffer); - - const carContactOffset = this.getFormatSize(); - const carContactLength = new CarContact().getFormatSize(); - - const carContactBufferA = copyBuffer( - buffer.slice(carContactOffset, carContactOffset + carContactLength), - ); - const carContactBufferB = copyBuffer( - buffer.slice( - carContactOffset + carContactLength, - carContactOffset + carContactLength * 2, - ), - ); - - this.A = new CarContact().unpack(carContactBufferA); - this.B = new CarContact().unpack(carContactBufferB); - - return this; - } + @struct(CarContact) B = new CarContact(); }