gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
143 lines • 13.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageType = exports.Message = void 0;
let messagePool = [];
function getMessage(type, params) {
if (messagePool.length) {
let msg = messagePool.pop();
msg.type = type;
msg.params = params;
return msg;
}
else {
return new Message(type, params);
}
}
class Message {
constructor(type, params) {
this.type = type;
this.params = params;
}
static forMonitorLog(projectCode, channel, prefix, data, color, player) {
return getMessage(exports.MessageType.MONITOR_LOG, [projectCode, channel, prefix, data, color, player ? {
code: player.code,
lastMsgTime: player.lastMsgTime
} : 0]);
}
static forMonitorEvent(projectCode, event, data) {
return getMessage(exports.MessageType.MONITOR_EVENT, [projectCode, event, data]);
}
static forBroadcast(type, playerCode, roomCode, data) {
return getMessage(type, [playerCode, roomCode, data]);
}
static forDataToPlayer(sender, data) {
return getMessage(exports.MessageType.DATA_TO_PLAYER, [sender.code, sender.client.project.code, sender.client.msgVersion, data]);
}
static forMonitorDataToPlayer(sender, data) {
return getMessage(exports.MessageType.MONITOR_DATA_TO_PLAYER, [sender.code, data]);
}
static forDataToRoommate(sender, data) {
return getMessage(exports.MessageType.DATA_TO_ROOMMATE, [sender.code, sender.getGameroom().code, data]);
}
static forDataToRoomDecisionmaker(sender, senderGameroomCode, roomCode, data) {
return getMessage(exports.MessageType.DATA_TO_ROOM_DECISIONMAKER, [sender.code, senderGameroomCode, roomCode, data]);
}
static forRoomCreated(room) {
return getMessage(exports.MessageType.ROOM_CREATED, [room.toAndStatusVo()]);
}
static forRoomClosed(room) {
return getMessage(exports.MessageType.ROOM_CLOSED, [room.gamezone.code, room.code]);
}
static forRoomStatusChanged(room) {
return getMessage(exports.MessageType.ROOM_STATUS_CHANGED, [room.gamezone.code, room.code, room.toStatusVo()]);
}
static forRoomBrainerChanged(room) {
return getMessage(exports.MessageType.ROOM_BRAINER_CHANGED, [room.code, room.getBrainer().code]);
}
static forRoomBrainerSet(roomCode) {
return getMessage(exports.MessageType.ROOM_BRAINER_SET, [roomCode]);
}
static forRoomPlayerStateChanged(roomCode, playerCode, key, value) {
return getMessage(exports.MessageType.ROOM_PLAYER_STATE_CHANGED, [roomCode, playerCode, key, value]);
}
static forRoomPlayerStatesChanged(roomCode, playerCode, states) {
return getMessage(exports.MessageType.ROOM_PLAYER_STATES_CHANGED, [roomCode, playerCode, states]);
}
static forRoomPlayerSyncedChanged(roomCode, playerCode, value, brainerCode) {
return getMessage(exports.MessageType.ROOM_PLAYER_SYNCED_CHANGED, [roomCode, playerCode, value, brainerCode]);
}
static forZoneStatusChanged(zone) {
return getMessage(exports.MessageType.ZONE_STATUS_CHANGED, [zone.code, zone.toStatusVo()]);
}
static forZonePlayerStateChanged(zoneCode, playerCode, key, value, brainerCode) {
return getMessage(exports.MessageType.ZONE_PLAYER_STATE_CHANGED, [zoneCode, playerCode, key, value, brainerCode]);
}
static forZonePlayerStatesChanged(zoneCode, playerCode, states, brainerCode) {
return getMessage(exports.MessageType.ZONE_PLAYER_STATES_CHANGED, [zoneCode, playerCode, states, brainerCode]);
}
static forZonePlayerSyncedChanged(zoneCode, playerCode, value, brainerCode) {
return getMessage(exports.MessageType.ZONE_PLAYER_SYNCED_CHANGED, [zoneCode, playerCode, value, brainerCode]);
}
static forPlayerJoinedRoom(roomCode, player) {
return getMessage(exports.MessageType.PLAYER_JOINED_ROOM, [roomCode, player.toVo()]);
}
static forPlayerLeftRoom(roomCode, playerCode) {
return getMessage(exports.MessageType.PLAYER_LEFT_ROOM, [roomCode, playerCode]);
}
static forPlayerLeftZone(zoneCode, playerCode) {
return getMessage(exports.MessageType.PLAYER_LEFT_ZONE, [zoneCode, playerCode]);
}
static forPlayerCheated(playerCode) {
return getMessage(exports.MessageType.PLAYER_CHEATED, [playerCode]);
}
recycle() {
messagePool.push(this);
}
send(socket, respond) {
if (respond) {
return socket.emit('gltmsg', this.type, this.params, respond);
}
else {
return socket.emit('gltmsg', this.type, this.params);
}
}
}
exports.Message = Message;
exports.MessageType = {
// receiving
LOGIN: 'login',
LOGIN2: 'login2',
LOGIN3: 'login3',
LOGIN_ADMIN: 'loginAdmin',
ECHO: 'echo',
CLIENT_MONITOR_API: 'clientMonitorApi',
// outgoing
MONITOR_LOG: 'monitorLog',
MONITOR_EVENT: 'monitorEvent',
ROOM_CREATED: 'roomCreated',
ROOM_CLOSED: 'roomClosed',
ROOM_STATUS_CHANGED: 'roomStatusChanged',
ROOM_BRAINER_CHANGED: 'roomBrainerChanged',
ROOM_BRAINER_SET: 'roomBrainerSet',
ROOM_PLAYER_STATE_CHANGED: 'roomPlayerStateChanged',
ROOM_PLAYER_STATES_CHANGED: 'roomPlayerStatesChanged',
ROOM_PLAYER_SYNCED_CHANGED: 'roomPlayerSyncedChanged',
ZONE_STATUS_CHANGED: 'zoneStatusChanged',
ZONE_PLAYER_STATE_CHANGED: 'zonePlayerStateChanged',
ZONE_PLAYER_STATES_CHANGED: 'zonePlayerStatesChanged',
ZONE_PLAYER_SYNCED_CHANGED: 'zonePlayerSyncedChanged',
BROADCAST_IN_ROOM: 'broadcastInRoom',
BROADCAST_TO_ROOM: 'broadcastToRoom',
BROADCAST_TO_ZONE: 'broadcastToZone',
BROADCAST_IN_PROJECT: 'broadcastInProject',
BROADCAST_IN_GAMELET: 'broadcastInGamelet',
PLAYER_JOINED_ROOM: 'playerJoinedRoom',
PLAYER_LEFT_ROOM: 'playerLeftRoom',
PLAYER_LEFT_ZONE: 'playerLeftZone',
PLAYER_CHEATED: 'playerCheated',
DATA_TO_PLAYER: 'dataToPlayer',
DATA_TO_ROOMMATE: 'dataToRoommate',
DATA_TO_ROOM_DECISIONMAKER: 'dataToRoomDecisionmaker',
MONITOR_DATA_TO_PLAYER: 'monitorDataToPlayer',
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWVzc2FnZXMvTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxJQUFJLFdBQVcsR0FBYyxFQUFFLENBQUM7QUFFaEMsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLE1BQWE7SUFDM0MsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1FBQ3BCLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM1QixHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztLQUNkO1NBQU07UUFDSCxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNwQztBQUNMLENBQUM7QUFFRCxNQUFhLE9BQU87SUE4RmhCLFlBQW1CLElBQVksRUFBUyxNQUFhO1FBQWxDLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFPO0lBRXJELENBQUM7SUE5RkQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBRSxNQUFlO1FBQ25ILE9BQU8sVUFBVSxDQUFDLG1CQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUM1RixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVzthQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsV0FBbUIsRUFBRSxL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