21 lines
484 B
TypeScript
21 lines
484 B
TypeScript
|
interface InputPacketJSONDecoded {
|
||
|
command: string
|
||
|
data: any
|
||
|
}
|
||
|
|
||
|
type onReceiveCallback = (data: any) => void
|
||
|
export default abstract class InputPacket {
|
||
|
onreceive: onReceiveCallback | null = null
|
||
|
|
||
|
onReceive (callback: onReceiveCallback): void {
|
||
|
this.onreceive = callback
|
||
|
}
|
||
|
abstract identifier (): string
|
||
|
|
||
|
recv (packet: InputPacketJSONDecoded): void {
|
||
|
if (this.onreceive !== null) {
|
||
|
this.onreceive(packet.data)
|
||
|
}
|
||
|
}
|
||
|
}
|