import {State} from "./State"; import {enum_GoodbyeReason_serialize, GoodbyeReason, GoodbyeReason_UnsupportedProtocol} from "./GoodbyeReason"; export class MessageC2S_Hello { version: number; requested_username: string; next_state: State; constructor(version: number, requested_username: string, next_state: State) { this.version = version; this.requested_username = requested_username; this.next_state = next_state; } to_object(): object { return { Hello: { version: this.version, requested_username: this.requested_username, next_state: this.next_state }} } } export class MessageC2S_Goodbye { reason: GoodbyeReason | GoodbyeReason_UnsupportedProtocol; constructor(reason: GoodbyeReason | GoodbyeReason_UnsupportedProtocol) { this.reason = reason; } to_object(): object { let reason; if (this.reason instanceof GoodbyeReason_UnsupportedProtocol) { reason = this.reason.to_object(); } else { reason = enum_GoodbyeReason_serialize(this.reason); } return { Goodbye: { reason: reason } } } } export class MessageC2S_Chat { message: string; constructor(message: string) { this.message = message; } to_object(): object { return { Chat: { message: this.message }} } } export class MessageC2S_Ping { constructor() {} to_object(): object { return { Ping: {} } } }