gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
143 lines • 13.6 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 {
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]);
}
constructor(type, params) {
this.type = type;
this.params = params;
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWVzc2FnZXMvTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxJQUFJLFdBQVcsR0FBYyxFQUFFLENBQUM7QUFFaEMsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLE1BQWE7SUFDM0MsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQWEsT0FBTztJQUVoQixNQUFNLENBQUMsYUFBYSxDQUFDLFdBQW1CLEVBQUUsT0FBZSxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsS0FBYSxFQUFFLE1BQWU7UUFDbkgsT0FBTyxVQUFVLENBQUMsbUJBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzVGLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxXQUFtQixFQUFFLEtBQWEsRUFBRSxJQUFvQjtRQUMzRSxPQUFPLFVBQVUsQ0FBQyxtQkFBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFB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