/** * Entity API Object (for storing / loading entities to and from API) * @constructor * @param id * @param name * @param entities GameLib.API.Entity[] * @param parentEntity */ GameLib.API.EntityManager = function( id, name, entities, // systems, parentEntity ) { // if (GameLib.Utils.UndefinedOrNull(systems)) { // systems = []; // } // this.systems = systems; }; GameLib.API.EntityManager.prototype = Object.create(GameLib.Component.prototype); GameLib.API.EntityManager.prototype.constructor = GameLib.API.EntityManager; /** * Creates an API entity manager from an Object entity manager * @param objectEntityManager * @constructor */ GameLib.API.EntityManager.FromObject = function(objectEntityManager) { var apiEntities = objectEntityManager.entities.map( function (objectEntity) { return GameLib.API.Entity.FromObject(objectEntity); } ); // var apiSystems = objectEntityManager.systems.map( // function (objectSystem) { // return GameLib.API.System.FromObject(objectSystem); // } // ); return new GameLib.API.EntityManager( objectEntityManager.id, objectEntityManager.name, apiEntities, // apiSystems, objectEntityManager.parentEntity ); };