// This file has been automatically generated by writeMessageClasses.js import { UUID } from '../UUID'; import { MessageFlags } from '../../enums/MessageFlags'; import { MessageBase } from '../MessageBase'; import { Message } from '../../enums/Message'; export class InviteGroupRequestMessage implements MessageBase { name = 'InviteGroupRequest'; messageFlags = MessageFlags.FrequencyLow; id = Message.InviteGroupRequest; AgentData: { AgentID: UUID; SessionID: UUID; }; GroupData: { GroupID: UUID; }; InviteData: { InviteeID: UUID; RoleID: UUID; }[]; getSize(): number { return ((32) * this.InviteData.length) + 49; } // @ts-ignore writeToBuffer(buf: Buffer, pos: number): number { const startPos = pos; this.AgentData['AgentID'].writeToBuffer(buf, pos); pos += 16; this.AgentData['SessionID'].writeToBuffer(buf, pos); pos += 16; this.GroupData['GroupID'].writeToBuffer(buf, pos); pos += 16; const count = this.InviteData.length; buf.writeUInt8(this.InviteData.length, pos++); for (let i = 0; i < count; i++) { this.InviteData[i]['InviteeID'].writeToBuffer(buf, pos); pos += 16; this.InviteData[i]['RoleID'].writeToBuffer(buf, pos); pos += 16; } return pos - startPos; } // @ts-ignore readFromBuffer(buf: Buffer, pos: number): number { const startPos = pos; const newObjAgentData: { AgentID: UUID, SessionID: UUID } = { AgentID: UUID.zero(), SessionID: UUID.zero() }; newObjAgentData['AgentID'] = new UUID(buf, pos); pos += 16; newObjAgentData['SessionID'] = new UUID(buf, pos); pos += 16; this.AgentData = newObjAgentData; const newObjGroupData: { GroupID: UUID } = { GroupID: UUID.zero() }; newObjGroupData['GroupID'] = new UUID(buf, pos); pos += 16; this.GroupData = newObjGroupData; if (pos >= buf.length) { return pos - startPos; } const count = buf.readUInt8(pos++); this.InviteData = []; for (let i = 0; i < count; i++) { const newObjInviteData: { InviteeID: UUID, RoleID: UUID } = { InviteeID: UUID.zero(), RoleID: UUID.zero() }; newObjInviteData['InviteeID'] = new UUID(buf, pos); pos += 16; newObjInviteData['RoleID'] = new UUID(buf, pos); pos += 16; this.InviteData.push(newObjInviteData); } return pos - startPos; } }