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: {} }
}
}