/** * Raw GUI API object - should always correspond with the GUI Schema * @param id * @param name * @param domElement * @param parentEntity * @constructor */ GameLib.API.GUI = function( id, name, domElement, parentEntity ) { if (GameLib.Utils.UndefinedOrNull(id)) { id = GameLib.Utils.RandomId(); } this.id = id; if (GameLib.Utils.UndefinedOrNull(name)) { name = 'GUI (' + this.id + ')'; } this.name = name; if (GameLib.Utils.UndefinedOrNull(domElement)) { domElement = null; } this.domElement = domElement; GameLib.API.Component.call( this, GameLib.Component.GUI, parentEntity ); }; GameLib.API.GUI.prototype = Object.create(GameLib.Component.prototype); GameLib.API.GUI.prototype.constructor = GameLib.API.GUI; /** * Creates an API GUI from an Object GUI * @param objectGUI * @constructor */ GameLib.API.GUI.FromObject = function(objectGUI) { var apiDomElement = null; if (objectGUI.domElement) { if (objectGUI.domElement instanceof Object) { apiDomElement = GameLib.API.DomElement.FromObject(objectGUI.domElement); } else { apiDomElement = objectGUI.domElement; } } return new GameLib.API.GUI( objectGUI.id, objectGUI.name, apiDomElement, objectGUI.parentEntity ); };