Riskless/static/js/packet.js
2023-02-17 12:46:21 +00:00

60 lines
1.2 KiB
JavaScript

class Packet {
static _createBase(name) {
return {
type: name,
id: window.crypto.randomUUID(),
author: ID,
};
}
static createAnnounce() {
return {
...this._createBase("ANNOUNCE"),
name: "",
};
}
static createDisconnect() {
return this._createBase("DISCONNECT");
}
static createKeepAlive() {
return this._createBase("KEEPALIVE");
}
static createSetReady(nowReady) {
return {
...this._createBase("READY"),
ready: nowReady,
};
}
static createBarrierSignal() {
return this._createBase("BARRIER");
}
static createRegionClaim(region) {
return {
...this._createBase("ACT"),
region: region,
};
}
static createAction(action, startRegion, endRegion, amount) {
return {
...this._createBase("ACT"),
startRegion: startRegion,
endRegion: endRegion,
strength: amount,
action: action,
};
}
static createEndTurn() {
return {
...this._createBase("ACT"),
action: "END",
};
}
}