var EHDI = EHDI || Object.create(null); EHDI.GAME = EHDI.GAME || Object.create(null); EHDI.GAME.Managers = EHDI.GAME.Managers || Object.create(null); EHDI.GAME.Managers.ObjectManager = (function() { var activeObjects = []; var instance; function create() { var public = {}; public.spawn = function(object) { if(object.length) { activeObjects = []; activeObjects = activeObjects.concat(object); } else activeObjects.push(object); } public.activeObjectCount = function() { return activeObjects.length; } public.update = function(container) { for(var i = 0; i < public.activeObjectCount(); i++) { if(activeObjects[i].delete) { container.removeChild(activeObjects[i]); activeObjects.splice(i, 1); } } } public.checkCollisions = function(player) { for(var i = 0; i < public.activeObjectCount(); i++) { if(activeObjects[i].checkCollision(player)) { return true; } } return false; } public.getActiveObjects = function() { return activeObjects; } public.removeActiveObjects = function(container) { for(var i = 0; i < activeObjects.length; i++) { container.removeChild(activeObjects[i]); } // activeObjects = []; } return public; } return { getInstance: function() { if(!instance) { instance = create(); } return instance; } }; })();