62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
/**
|
|
* Raw FrictionMaterial API object - should always correspond with the FrictionMaterial Schema
|
|
* @param id
|
|
* @param name
|
|
* @param friction
|
|
* @param restitution
|
|
* @param parentEntity
|
|
* @constructor
|
|
*/
|
|
GameLib.D3.API.FrictionMaterial = function(
|
|
id,
|
|
name,
|
|
friction,
|
|
restitution,
|
|
parentEntity
|
|
) {
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(id)) {
|
|
id = GameLib.Utils.RandomId();
|
|
}
|
|
this.id = id;
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(name)) {
|
|
name = 'Friction Material (' + this.id + ')';
|
|
}
|
|
this.name = name;
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(friction)) {
|
|
friction = -1;
|
|
}
|
|
this.friction = friction;
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(restitution)) {
|
|
restitution = -1;
|
|
}
|
|
this.restitution = restitution;
|
|
|
|
if (GameLib.Utils.UndefinedOrNull(parentEntity)) {
|
|
parentEntity = null;
|
|
}
|
|
this.parentEntity = parentEntity;
|
|
};
|
|
|
|
GameLib.D3.API.FrictionMaterial.prototype = Object.create(GameLib.Component.prototype);
|
|
GameLib.D3.API.FrictionMaterial.prototype.constructor = GameLib.D3.API.FrictionMaterial;
|
|
|
|
/**
|
|
* Creates an API FrictionMaterial from an Object FrictionMaterial
|
|
* @param objectFrictionMaterial
|
|
* @constructor
|
|
*/
|
|
GameLib.D3.API.FrictionMaterial.FromObject = function(objectFrictionMaterial) {
|
|
return new GameLib.D3.API.FrictionMaterial(
|
|
objectFrictionMaterial.id,
|
|
objectFrictionMaterial.name,
|
|
objectFrictionMaterial.friction,
|
|
objectFrictionMaterial.restitution,
|
|
objectFrictionMaterial.parentEntity
|
|
);
|
|
};
|
|
|