Пример #1
0
  return function atMonitorForWorld(){
    var timeMins = utils.time24(world);
    if (timeMins === lastRun){
      return;
    }
    if (lastRun === null ){
      lastRun = timeMins - 1;
    }else {
      lastRun = lastRun % 1440;
    }
    var worldSchedule = atTasks[worldName];
    if (!worldSchedule){
      return;
    }
    while ( lastRun > timeMins ? (lastRun <= 1440) : ( lastRun < timeMins ) ){

      var tasks = worldSchedule[lastRun++];
      if (!tasks){
	continue;
      }
      utils.foreach(tasks, function(task, i){
	if (!task){
	  return;
	}
	setTimeout(task.callback.bind(null, timeMins, world), 1);
	if (!task.repeat){
	  tasks[i] = null;
	}
      });
    }
  };
Пример #2
0
function tasksToString(){
  var result = '';
  for (var world in atTasks){
    result += 'world: ' + world +'\n';
    for (var time in atTasks[world]){
      var scheduledFuncs = atTasks[world][time];
      for (var i = 0;i < scheduledFuncs.length; i++){
	result += ' ' + time + ': ' + scheduledFuncs[i].constructor + '\n';
      }
    }
    result += '(current world time: ' + utils.time24(world) + ')\n';
  }
  return result;
}