/** * 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 ); };