entities have renderers, sometimes
parent
9c73e39298
commit
e8ee24a12a
|
@ -3,16 +3,16 @@
|
||||||
* @param id
|
* @param id
|
||||||
* @param name
|
* @param name
|
||||||
* @param components GameLib.Component[]
|
* @param components GameLib.Component[]
|
||||||
|
* @param renderer
|
||||||
* @param parentEntity GameLib.Entity
|
* @param parentEntity GameLib.Entity
|
||||||
* @param parentEntityManager
|
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
GameLib.API.Entity = function(
|
GameLib.API.Entity = function(
|
||||||
id,
|
id,
|
||||||
name,
|
name,
|
||||||
components,
|
components,
|
||||||
parentEntity,
|
renderer,
|
||||||
parentEntityManager
|
parentEntity
|
||||||
) {
|
) {
|
||||||
if (GameLib.Utils.UndefinedOrNull(id)) {
|
if (GameLib.Utils.UndefinedOrNull(id)) {
|
||||||
id = GameLib.Utils.RandomId();
|
id = GameLib.Utils.RandomId();
|
||||||
|
@ -29,18 +29,16 @@ GameLib.API.Entity = function(
|
||||||
}
|
}
|
||||||
this.components = components;
|
this.components = components;
|
||||||
|
|
||||||
|
if (GameLib.Utils.UndefinedOrNull(renderer)) {
|
||||||
|
renderer = null;
|
||||||
|
}
|
||||||
|
this.renderer = renderer;
|
||||||
|
|
||||||
GameLib.API.Component.call(
|
GameLib.API.Component.call(
|
||||||
this,
|
this,
|
||||||
GameLib.Component.ENTITY,
|
GameLib.Component.ENTITY,
|
||||||
parentEntity
|
parentEntity
|
||||||
);
|
);
|
||||||
|
|
||||||
if (GameLib.Utils.UndefinedOrNull(parentEntityManager)) {
|
|
||||||
parentEntityManager = null;
|
|
||||||
}
|
|
||||||
this.parentEntityManager = parentEntityManager;
|
|
||||||
|
|
||||||
this.activeComponent = null;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
GameLib.API.Entity.prototype = Object.create(GameLib.Component.prototype);
|
GameLib.API.Entity.prototype = Object.create(GameLib.Component.prototype);
|
||||||
|
@ -56,7 +54,7 @@ GameLib.API.Entity.FromObject = function(objectEntity) {
|
||||||
objectEntity.id,
|
objectEntity.id,
|
||||||
objectEntity.name,
|
objectEntity.name,
|
||||||
objectEntity.components,
|
objectEntity.components,
|
||||||
objectEntity.parentEntity,
|
objectEntity.renderer,
|
||||||
objectEntity.parentEntityManager
|
objectEntity.parentEntity
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,15 +19,15 @@ GameLib.Entity = function (
|
||||||
apiEntity.id,
|
apiEntity.id,
|
||||||
apiEntity.name,
|
apiEntity.name,
|
||||||
apiEntity.components,
|
apiEntity.components,
|
||||||
apiEntity.parentEntity,
|
apiEntity.renderer,
|
||||||
apiEntity.parentEntityManager
|
apiEntity.parentEntity
|
||||||
);
|
);
|
||||||
|
|
||||||
GameLib.Component.call(
|
GameLib.Component.call(
|
||||||
this,
|
this,
|
||||||
{
|
{
|
||||||
'components' : [GameLib.Component],
|
'components' : [GameLib.Component],
|
||||||
'activeComponent' : GameLib.Component
|
'renderer' : GameLib.D3.Renderer
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -195,8 +195,8 @@ GameLib.Entity.prototype.toApiObject = function() {
|
||||||
this.id,
|
this.id,
|
||||||
this.name,
|
this.name,
|
||||||
apiComponents,
|
apiComponents,
|
||||||
GameLib.Utils.IdOrNull(this.parentEntity),
|
GameLib.Utils.IdOrNull(this.renderer),
|
||||||
GameLib.Utils.IdOrNull(this.parentEntityManager)
|
GameLib.Utils.IdOrNull(this.parentEntity)
|
||||||
);
|
);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -204,11 +204,10 @@ GameLib.Entity.prototype.toApiObject = function() {
|
||||||
/**
|
/**
|
||||||
* Entity from Object
|
* Entity from Object
|
||||||
* @param objectEntity Object
|
* @param objectEntity Object
|
||||||
* @param parentEntityManager GameLib.D3.EntityManager
|
|
||||||
* @returns {GameLib.Entity}
|
* @returns {GameLib.Entity}
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
GameLib.Entity.FromObject = function(objectEntity, parentEntityManager) {
|
GameLib.Entity.FromObject = function(objectEntity) {
|
||||||
|
|
||||||
var apiEntity = GameLib.API.Entity.FromObject(objectEntity);
|
var apiEntity = GameLib.API.Entity.FromObject(objectEntity);
|
||||||
|
|
||||||
|
@ -216,11 +215,7 @@ GameLib.Entity.FromObject = function(objectEntity, parentEntityManager) {
|
||||||
apiEntity
|
apiEntity
|
||||||
);
|
);
|
||||||
|
|
||||||
if (GameLib.Utils.UndefinedOrNull(parentEntityManager)) {
|
GameLib.EntityManager.Instance.addEntity(entity);
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
parentEntityManager.addEntity(entity);
|
|
||||||
|
|
||||||
return entity;
|
return entity;
|
||||||
};
|
};
|
||||||
|
|
|
@ -244,11 +244,6 @@ GameLib.System.GUI.prototype.start = function() {
|
||||||
this.meshDeslected
|
this.meshDeslected
|
||||||
);
|
);
|
||||||
|
|
||||||
this.newEntitySubscription = this.subscribe(
|
|
||||||
GameLib.Event.NEW_ENTITY,
|
|
||||||
this.newEntity
|
|
||||||
);
|
|
||||||
|
|
||||||
this.componentRemovedSubscription = this.subscribe(
|
this.componentRemovedSubscription = this.subscribe(
|
||||||
GameLib.Event.REMOVE_COMPONENT,
|
GameLib.Event.REMOVE_COMPONENT,
|
||||||
this.removeComponent
|
this.removeComponent
|
||||||
|
@ -452,7 +447,7 @@ GameLib.System.GUI.prototype.buildVectorControl = function(folder, componentTemp
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds an Entity Selection control
|
* Builds a Paren Selection control
|
||||||
* @param folder
|
* @param folder
|
||||||
* @param componentTemplate
|
* @param componentTemplate
|
||||||
* @param property
|
* @param property
|
||||||
|
@ -1869,10 +1864,7 @@ GameLib.System.GUI.prototype.buildGUI = function(data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
templateProperty === 'parentEntity' ||
|
templateProperty.indexOf('parent') === 0
|
||||||
templateProperty === 'parentPhysicsWorld' ||
|
|
||||||
templateProperty === 'parentMesh' ||
|
|
||||||
templateProperty === 'parentScene'
|
|
||||||
) {
|
) {
|
||||||
this.buildParentSelectionControl(folder, componentTemplate, templateProperty);
|
this.buildParentSelectionControl(folder, componentTemplate, templateProperty);
|
||||||
continue;
|
continue;
|
||||||
|
@ -1919,41 +1911,6 @@ GameLib.System.GUI.prototype.buildGUI = function(data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.buildControl(folder, componentTemplate, templateProperty);
|
this.buildControl(folder, componentTemplate, templateProperty);
|
||||||
// if (
|
|
||||||
// component.linkedObjects &&
|
|
||||||
// component.linkedObjects[property]
|
|
||||||
// ) {
|
|
||||||
// if (property === 'parentEntity') {
|
|
||||||
// this.buildEntitySelectionControlFromArray(
|
|
||||||
// folder,
|
|
||||||
// component,
|
|
||||||
// property,
|
|
||||||
// entityManager
|
|
||||||
// )
|
|
||||||
// } else if (component.linkedObjects[property] instanceof Array) {
|
|
||||||
// this.buildArrayManager(
|
|
||||||
// folder,
|
|
||||||
// component,
|
|
||||||
// property,
|
|
||||||
// component.linkedObjects[property],
|
|
||||||
// entityManager
|
|
||||||
// )
|
|
||||||
// } else {
|
|
||||||
// this.buildSelectControl(folder, component, property, entityManager, component.linkedObjects[property]);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// } else if (typeof (component[property]) === 'object') {
|
|
||||||
//
|
|
||||||
// if (this.isColor(component[property])) {
|
|
||||||
// this.buildControl(folder, component, property);
|
|
||||||
// } else {
|
|
||||||
// //console.log('ignored: ' + property);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// this.buildControl(folder, component, property, entityManager);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
|
@ -1987,11 +1944,6 @@ GameLib.System.GUI.prototype.removeComponent = function(data) {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
GameLib.System.GUI.prototype.newEntity = function(data) {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
GameLib.System.GUI.prototype.castSourceChanged = function(data) {
|
GameLib.System.GUI.prototype.castSourceChanged = function(data) {
|
||||||
this.buildGUI(null);
|
this.buildGUI(null);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue