client build update
This commit is contained in:
parent
8e007763bf
commit
e194968af5
15 changed files with 2050 additions and 8 deletions
71
client/dest/network.js
Normal file
71
client/dest/network.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
class Packet {
|
||||
constructor(id, data) {
|
||||
this.id = id;
|
||||
this.data = data;
|
||||
}
|
||||
getId() { return this.id; }
|
||||
getData() { return this.data; }
|
||||
static fromString(data) {
|
||||
return new Packet(data[0], data.slice(1).split("\n"));
|
||||
}
|
||||
}
|
||||
class JoinPacket extends Packet {
|
||||
constructor(name) {
|
||||
super("J", [name]);
|
||||
}
|
||||
}
|
||||
class MessagePacket extends Packet {
|
||||
constructor(message) {
|
||||
super("M", [message]);
|
||||
}
|
||||
}
|
||||
class KeyPacket extends Packet {
|
||||
constructor(key, pressed) {
|
||||
super("K", [key, pressed ? "1" : "0"]);
|
||||
}
|
||||
}
|
||||
class PlaceBlockPacket extends Packet {
|
||||
constructor(x, y, type) {
|
||||
super("P", [x.toString(), y.toString(), type]);
|
||||
}
|
||||
}
|
||||
class DestroyBlockPacket extends Packet {
|
||||
constructor(x, y) {
|
||||
super("D", [x.toString(), y.toString()]);
|
||||
}
|
||||
}
|
||||
class PositionPacket extends Packet {
|
||||
constructor(x, y) {
|
||||
super("X", [x.toString(), y.toString()]);
|
||||
}
|
||||
}
|
||||
class VelocityPacket extends Packet {
|
||||
constructor(x, y) {
|
||||
super("V", [x.toString(), y.toString()]);
|
||||
}
|
||||
}
|
||||
class Connection {
|
||||
constructor(address, on_packet, on_close) {
|
||||
this.socket = new WebSocket("ws://" + address, "cubic");
|
||||
this.on_packet = on_packet;
|
||||
this.on_close = on_close;
|
||||
this.socket.onmessage = this._on_message;
|
||||
this.socket.onclose = this._on_close;
|
||||
this.socket.onerror = this._on_error;
|
||||
}
|
||||
_on_message(event) {
|
||||
this.on_packet(Packet.fromString(event.data));
|
||||
}
|
||||
_on_close(event) {
|
||||
this.on_close(null);
|
||||
}
|
||||
_on_error(event) {
|
||||
this.on_close(event.toString());
|
||||
}
|
||||
close() {
|
||||
this.socket.close();
|
||||
}
|
||||
send(packet) {
|
||||
this.socket.send(packet.getId() + packet.getData());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue