/** * This component renders a scene * @param id String * @param name String * @param scene GameLib.D3.Scene * @param camera GameLib.D3.Camera * @param autoClear bool * @param localClipping * @param width * @param height * @param parentEntity * @constructor */ GameLib.D3.API.Renderer = function ( id, name, scene, camera, autoClear, localClipping, width, height, parentEntity ) { GameLib.Component.call( this, GameLib.Component.COMPONENT_RENDERER, { 'scene' : GameLib.D3.Scene, 'camera' : GameLib.D3.Camera }, null, parentEntity ); if (GameLib.Utils.UndefinedOrNull(id)) { id = GameLib.Utils.RandomId(); } this.id = id; if (GameLib.Utils.UndefinedOrNull(name)) { name = this.constructor.name; } this.name = name; if (GameLib.Utils.UndefinedOrNull(scene)) { scene = null; } this.scene = scene; if (GameLib.Utils.UndefinedOrNull(camera)) { camera = null; } this.camera = camera; if (GameLib.Utils.UndefinedOrNull(autoClear)) { autoClear = true; } this.autoClear = autoClear; if (GameLib.Utils.UndefinedOrNull(localClipping)) { localClipping = false; } this.localClipping = localClipping; if (GameLib.Utils.UndefinedOrNull(width)) { width = 800; } this.width = width; if (GameLib.Utils.UndefinedOrNull(height)) { height = 600; } this.height = height; }; GameLib.D3.API.Renderer.prototype = Object.create(GameLib.Component.prototype); GameLib.D3.API.Renderer.prototype.constructor = GameLib.D3.API.Renderer; /** * Object to GameLib.D3.API.Renderer * @param objectComponent * @constructor */ GameLib.D3.API.Renderer.FromObjectComponent = function(objectComponent) { return new GameLib.D3.API.Renderer( objectComponent.id, objectComponent.name, objectComponent.scene, objectComponent.camera, objectComponent.autoClear, objectComponent.localClipping, objectComponent.width, objectComponent.height, objectComponent.parentEntity ); };