r3-legacy/src/game-lib-d3-api-friction-ma...

63 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;
GameLib.API.Component.call(
this,
GameLib.Component.FRICTION_MATERIAL,
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
);
};