Skip to content

Instantly share code, notes, and snippets.

@MatthaeusHarris
Created August 29, 2014 21:11
Show Gist options
  • Save MatthaeusHarris/58b79e7b30984a65389e to your computer and use it in GitHub Desktop.
Save MatthaeusHarris/58b79e7b30984a65389e to your computer and use it in GitHub Desktop.
// Set up the event accumulator to fire when all users have been saved.
var arenaStartEvents = [];
for (var p in this.players) {
arenaStartEvents.push(this.players[p].userID);
this.players[p].on('leaveArena', (function(arena, player) {
return (function() {
arena.playerLeftArenaInProgress(player);
});
})(this, this.players[p]));
}
var arenaStartEmitter = new events.EventEmitter();
var arenaStartAccumulatorHandler = (function(arena) {
return function() {
// Build ladder, start first round
arena.ladder[0] = _.range(arena.arenaData.players)
arena.round = 1;
arena.roundStart();
}
})(this);
var arenaUUID = this.arenaData.UUID;
async.forEach(arenaStartEvents, function(event) {
arenaStartEmitter.once(event, function() {
eventAccumulator(event, arenaStartEvents, "arenaStart" + arenaUUID, arenaStartAccumulatorHandler);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment