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