'init'
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import Packet from "../packet";
|
||||
import Stream from "../stream";
|
||||
import { OnlineState } from "./packet.onlinestate";
|
||||
|
||||
export interface PacketSearchUser {
|
||||
username: string;
|
||||
title: string;
|
||||
publicKey: string;
|
||||
verified: number;
|
||||
online: OnlineState;
|
||||
}
|
||||
|
||||
export class PacketSearch extends Packet {
|
||||
|
||||
private privateKey : string = "";
|
||||
private search : string = "";
|
||||
private users : PacketSearchUser[] = [];
|
||||
|
||||
|
||||
public getPacketId(): number {
|
||||
return 0x03;
|
||||
}
|
||||
|
||||
public _receive(stream: Stream): void {
|
||||
this.privateKey = stream.readString();
|
||||
this.search = stream.readString();
|
||||
const userCount = stream.readInt16();
|
||||
for (let i = 0; i < userCount; i++) {
|
||||
const username = stream.readString();
|
||||
const title = stream.readString();
|
||||
const publicKey = stream.readString();
|
||||
const verified = stream.readInt8();
|
||||
const online = stream.readInt8();
|
||||
this.users.push({ username, title, publicKey, online, verified });
|
||||
}
|
||||
}
|
||||
|
||||
public _send(): Stream {
|
||||
const stream = new Stream();
|
||||
stream.writeInt16(this.getPacketId());
|
||||
stream.writeString(this.privateKey);
|
||||
stream.writeString(this.search);
|
||||
stream.writeInt16(this.users.length);
|
||||
for (const user of this.users) {
|
||||
stream.writeString(user.username);
|
||||
stream.writeString(user.title);
|
||||
stream.writeString(user.publicKey);
|
||||
stream.writeInt8(user.verified);
|
||||
stream.writeInt8(user.online);
|
||||
}
|
||||
return stream;
|
||||
}
|
||||
|
||||
public getPrivateKey(): string {
|
||||
return this.privateKey;
|
||||
}
|
||||
|
||||
public setPrivateKey(privateKey: string): void {
|
||||
this.privateKey = privateKey;
|
||||
}
|
||||
|
||||
public getSearch(): string {
|
||||
return this.search;
|
||||
}
|
||||
|
||||
public setSearch(search: string): void {
|
||||
this.search = search;
|
||||
}
|
||||
|
||||
public addUser(searchUser: PacketSearchUser): void {
|
||||
this.users.push(searchUser);
|
||||
}
|
||||
|
||||
public getUsers(): PacketSearchUser[] {
|
||||
return this.users;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user