var ITW = (function(itw) { "use strict"; var managers; itw.managers = itw.managers || Object.create(null); managers = itw.managers; // CONST var DEBUG = false; var START_SPEED = 200; var TOP_SPEED = 360; // privates var speed, score; var paused, gameOver; //ADDED var loops; managers.GameManager = (function(){ return{ init: function(){ score = 0; speed = START_SPEED; paused = false; gameOver = false; loops = {bg: true, player: true, air: true, obstacle: true, wave: true} }, getDebug: function(){ return DEBUG; }, increaseSpeed: function(){ if( speed >= TOP_SPEED ){ speed = TOP_SPEED; return; } speed += ( TOP_SPEED - START_SPEED ) / 10; }, getSpeed: function(){ return speed; }, setScore: function( amount ){ score = amount; }, getScore: function(){ return score; }, setPaused: function( status ){ paused = status; }, getPaused: function(){ return paused; }, /** * @param (STRING) key - values: * bg, player, air, obstacle, wave * @param (bool) BOOL */ setLoop: function (key, bool){ if(loops.hasOwnProperty(key)){ loops[key] = bool; } }, getLoop: function(key){ if(loops.hasOwnProperty(key)){ return loops[key]; } }, setGameOver: function( status ){ gameOver = status; }, getGameOver: function(){ return gameOver; } } }()); return itw; }(ITW || Object.create(null)));