// This file has been automatically generated by writeMessageClasses.js import { UUID } from '../UUID'; import * as Long from 'long'; import { MessageFlags } from '../../enums/MessageFlags'; import { MessageBase } from '../MessageBase'; import { Message } from '../../enums/Message'; export class LogParcelChangesMessage implements MessageBase { name = 'LogParcelChanges'; messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; id = Message.LogParcelChanges; AgentData: { AgentID: UUID; }; RegionData: { RegionHandle: Long; }; ParcelData: { ParcelID: UUID; OwnerID: UUID; IsOwnerGroup: boolean; ActualArea: number; Action: number; TransactionID: UUID; }[]; getSize(): number { return ((54) * this.ParcelData.length) + 25; } // @ts-ignore writeToBuffer(buf: Buffer, pos: number): number { const startPos = pos; this.AgentData['AgentID'].writeToBuffer(buf, pos); pos += 16; buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); pos += 4; buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); pos += 4; const count = this.ParcelData.length; buf.writeUInt8(this.ParcelData.length, pos++); for (let i = 0; i < count; i++) { this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); pos += 16; this.ParcelData[i]['OwnerID'].writeToBuffer(buf, pos); pos += 16; buf.writeUInt8((this.ParcelData[i]['IsOwnerGroup']) ? 1 : 0, pos++); buf.writeInt32LE(this.ParcelData[i]['ActualArea'], pos); pos += 4; buf.writeInt8(this.ParcelData[i]['Action'], pos++); this.ParcelData[i]['TransactionID'].writeToBuffer(buf, pos); pos += 16; } return pos - startPos; } // @ts-ignore readFromBuffer(buf: Buffer, pos: number): number { const startPos = pos; const newObjAgentData: { AgentID: UUID } = { AgentID: UUID.zero() }; newObjAgentData['AgentID'] = new UUID(buf, pos); pos += 16; this.AgentData = newObjAgentData; const newObjRegionData: { RegionHandle: Long } = { RegionHandle: Long.ZERO }; newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); pos += 8; this.RegionData = newObjRegionData; if (pos >= buf.length) { return pos - startPos; } const count = buf.readUInt8(pos++); this.ParcelData = []; for (let i = 0; i < count; i++) { const newObjParcelData: { ParcelID: UUID, OwnerID: UUID, IsOwnerGroup: boolean, ActualArea: number, Action: number, TransactionID: UUID } = { ParcelID: UUID.zero(), OwnerID: UUID.zero(), IsOwnerGroup: false, ActualArea: 0, Action: 0, TransactionID: UUID.zero() }; newObjParcelData['ParcelID'] = new UUID(buf, pos); pos += 16; newObjParcelData['OwnerID'] = new UUID(buf, pos); pos += 16; newObjParcelData['IsOwnerGroup'] = (buf.readUInt8(pos++) === 1); newObjParcelData['ActualArea'] = buf.readInt32LE(pos); pos += 4; newObjParcelData['Action'] = buf.readInt8(pos++); newObjParcelData['TransactionID'] = new UUID(buf, pos); pos += 16; this.ParcelData.push(newObjParcelData); } return pos - startPos; } }