Пример #1
0
 gLoader.dump(function (err) {
   var startInfo = {};
   startInfo.gameName = gGameName;
   startInfo.gameId = req.env.game.get("oid");
   startInfo.gameUrl = sh.gameUrl(startInfo.gameName, {"gameId": startInfo.gameId});
   dispatch.sendUsers(req.body.players, sh.event("match.made", startInfo));
   return cb(0);
 });
Пример #2
0
    loader.get("kGame", gameId, _w(lcb, function (err, game) {
      if (err) {
        return lcb(game);
      }
      gameList[gameId].gameName = game.get("name");
      gameList[gameId].status = game.get("status");
      gameList[gameId].whoTurn = game.get("whoTurn");
      gameList[gameId].players = game.get("players");
      gameList[gameId].gameUrl = sh.gameUrl(game.get("name"), {"gameId": game.get("oid")});
      lcb();
/* SWD expensive call with cache turned off
      shcluster.home(gameId, function (err, server) {
        if (err) {
          return lcb(err);
        }
        gameList[gameId].SOCKET_URL = server.SOCKET_URL;
        lcb();
      });
 */
    }));
Пример #3
0
ShGameBase.prototype.notifyStatus = function (req, res) {
  // notify any players online
  var gameData = req.env.game.getData();
  var event = sh.event(this.name + ".status", {gameId: gameData.oid,
    status: gameData.status,
    gameName: gameData.name,
    gameUrl: sh.gameUrl(gameData.name, {gameId: gameData.oid}),
    whoTurn: gameData.whoTurn,
    name: (gameData.whoTurn === "" ? "no one" : gameData.players[gameData.whoTurn].name),
    pic: ""});

  // increment the turns counter
  if (gameData.whoTurn !== "") {
    counter.incr(gameData.whoTurn, "turns");
  }

  // notify anyone that is onine
  res.notifyAdd(gameData.playerOrder, event, req.session.uid);  // exclude me

  // noitify me - rest support
  res.add(event);
};