Phaser.CanvasPool = { create: function (parent, width, height){ var idx = Phaser.CanvasPool.getFirst(); var canvas; if (idx === -1) { var container = { parent: parent, canvas: _AN_Call_createelement('createElement', document, 'canvas')} ; Phaser.CanvasPool.pool.push(container); canvas = container.canvas; } else { Phaser.CanvasPool.pool[idx].parent = parent; canvas = Phaser.CanvasPool.pool[idx].canvas; } if (width !== undefined) { canvas.width = width; canvas.height = height; } return canvas; } , getFirst: function (){ var pool = Phaser.CanvasPool.pool; for (var i = 0; i < _AN_Read_length('length', pool); i++ ){ if (!pool[i].parent) { return i; } } return -1; } , remove: function (parent){ var pool = Phaser.CanvasPool.pool; for (var i = 0; i < _AN_Read_length('length', pool); i++ ){ if (pool[i].parent === parent) { pool[i].parent = null ; pool[i].canvas.width = 1; pool[i].canvas.height = 1; } } } , removeByCanvas: function (canvas){ var pool = Phaser.CanvasPool.pool; for (var i = 0; i < _AN_Read_length('length', pool); i++ ){ if (pool[i].canvas === canvas) { pool[i].parent = null ; pool[i].canvas.width = 1; pool[i].canvas.height = 1; } } } , getTotal: function (){ var pool = Phaser.CanvasPool.pool; var c = 0; for (var i = 0; i < _AN_Read_length('length', pool); i++ ){ if (pool[i].parent) { c++ ; } } return c; } , getFree: function (){ var pool = Phaser.CanvasPool.pool; var c = 0; for (var i = 0; i < _AN_Read_length('length', pool); i++ ){ if (!pool[i].parent) { c++ ; } } return c; } } ; Phaser.CanvasPool.pool = [] ;