fix entity manager with default instance
parent
b52177f3ad
commit
724647f8a6
|
@ -4,13 +4,13 @@
|
|||
* @param id
|
||||
* @param name
|
||||
* @param entities GameLib.API.Entity[]
|
||||
* @param parentEntity
|
||||
* @param defaultEntity
|
||||
*/
|
||||
GameLib.API.EntityManager = function(
|
||||
id,
|
||||
name,
|
||||
entities,
|
||||
parentEntity
|
||||
defaultEntity
|
||||
) {
|
||||
if (GameLib.Utils.UndefinedOrNull(id)) {
|
||||
id = GameLib.Utils.RandomId();
|
||||
|
@ -27,10 +27,10 @@ GameLib.API.EntityManager = function(
|
|||
}
|
||||
this.entities = entities;
|
||||
|
||||
if (GameLib.Utils.UndefinedOrNull(parentEntity)) {
|
||||
parentEntity = null;
|
||||
}
|
||||
this.parentEntity = parentEntity;
|
||||
if (GameLib.Utils.UndefinedOrNull(defaultEntity)) {
|
||||
defaultEntity = null;
|
||||
}
|
||||
this.defaultEntity = defaultEntity;
|
||||
};
|
||||
|
||||
GameLib.API.EntityManager.prototype = Object.create(GameLib.Component.prototype);
|
||||
|
@ -53,6 +53,6 @@ GameLib.API.EntityManager.FromObject = function(objectEntityManager) {
|
|||
objectEntityManager.id,
|
||||
objectEntityManager.name,
|
||||
apiEntities,
|
||||
objectEntityManager.parentEntity
|
||||
objectEntityManager.defaultEntity
|
||||
);
|
||||
};
|
||||
|
|
|
@ -2,13 +2,23 @@
|
|||
* GameLib.EntityManager
|
||||
* @constructor
|
||||
*/
|
||||
GameLib.EntityManager = function() {
|
||||
GameLib.EntityManager = function(apiEntityManager) {
|
||||
|
||||
this.id = GameLib.Utils.RandomId();
|
||||
if (GameLib.Utils.UndefinedOrNull(apiEntityManager)) {
|
||||
apiEntityManager = {};
|
||||
}
|
||||
|
||||
this.name = 'Entity Manager (' + this.id + ')';
|
||||
if (apiEntityManager instanceof GameLib.EntityManager) {
|
||||
return apiEntityManager;
|
||||
}
|
||||
|
||||
this.entities = [];
|
||||
GameLib.API.EntityManager.call(
|
||||
this,
|
||||
apiEntityManager.id,
|
||||
apiEntityManager.name,
|
||||
apiEntityManager.entities,
|
||||
apiEntityManager.defaultEntity
|
||||
);
|
||||
|
||||
/**
|
||||
* The 'register' array is a register of each component currently loaded - when the linking
|
||||
|
@ -31,12 +41,13 @@ GameLib.EntityManager = function() {
|
|||
this,
|
||||
GameLib.Component.COMPONENT_ENTITY_MANAGER,
|
||||
{
|
||||
'entities' : [GameLib.Entity]
|
||||
'entities' : [GameLib.Entity],
|
||||
'defaultEntity' : GameLib.Entity
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
GameLib.EntityManager.prototype = Object.create(GameLib.Component.prototype);
|
||||
GameLib.EntityManager.prototype = Object.create(GameLib.API.EntityManager.prototype);
|
||||
GameLib.EntityManager.prototype.constructor = GameLib.EntityManager;
|
||||
|
||||
GameLib.EntityManager.prototype.createInstance = function() {
|
||||
|
@ -131,6 +142,8 @@ GameLib.EntityManager.prototype.createEntity = function(name) {
|
|||
|
||||
this.entities.push(entity);
|
||||
|
||||
this.defaultEntity = entity;
|
||||
|
||||
GameLib.Event.Emit(
|
||||
GameLib.Event.NEW_ENTITY,
|
||||
{
|
||||
|
@ -334,7 +347,7 @@ GameLib.EntityManager.prototype.toApiObject = function() {
|
|||
this.id,
|
||||
this.name,
|
||||
apiEntities,
|
||||
GameLib.Utils.IdOrNull(this.parentEntity)
|
||||
GameLib.Utils.IdOrNull(this.defaultEntity)
|
||||
);
|
||||
|
||||
return apiEntityManager;
|
||||
|
|
Loading…
Reference in New Issue