1
0
Fork 0
mirror of https://github.com/demostf/demo.js synced 2026-06-04 00:54:14 +02:00

use map for setconvar

This commit is contained in:
Robin Appelman 2017-09-02 16:17:25 +02:00
commit b3e69f1af4
3 changed files with 16 additions and 15 deletions

View file

@ -3,9 +3,11 @@ import {SetConVarPacket} from '../../Data/Packet';
export function ParseSetConVar(stream: BitStream): SetConVarPacket { // 5: setconvar
const count = stream.readUint8();
const vars: { [key: string]: string } = {};
const vars: Map<string, string> = new Map();
for (let i = 0; i < count; i++) {
vars[stream.readUTF8String()] = stream.readUTF8String();
const key = stream.readUTF8String();
const value = stream.readUTF8String();
vars.set(key, value);
}
return {
packetType: 'setConVar',
@ -14,10 +16,9 @@ export function ParseSetConVar(stream: BitStream): SetConVarPacket { // 5: setco
}
export function EncodeSetConVar(packet: SetConVarPacket, stream: BitStream) {
const keys = Object.keys(packet.vars);
stream.writeUint8(keys.length);
for (const key of keys) {
stream.writeUint8(packet.vars.size);
for (const [key, value] of packet.vars.entries()) {
stream.writeUTF8String(key);
stream.writeUTF8String(packet.vars[key]);
stream.writeUTF8String(value);
}
}