webclient/js/Games.js

39 lines
763 B
JavaScript

import Messaging;
import opponent from Room;
import Save;
import Session;
import Table;
import Time;
var entries = Table.make(makeEntry, 'date');
initMessageHandlers();
return {
entries: entries
};
function entry(state) {
var sessionKey = Session.getKey();
return Time.timestamp({
vs: opponent(state.public.nextPlayer[sessionKey]),
yourTurn: state.public.playing == sessionKey
});
}
function makeEntry(key, config) {
return {
key: key,
vs: config.vs,
yourTurn: config.yourTurn,
date: config.date
};
}
function initMessageHandlers() {
Messaging.addEventListener(["Game"], function(o) {
var gameID = o.state.public.gameState.gameID;
Save.set("games.state." + gameID, o.state);
Save.set("games.entry." + gameID, entry(o.state));
});
}