2017-12-04 13:23:15 +01:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2018-01-07 12:40:16 +01:00
|
|
|
GameLib.API.GUI.prototype = Object.create(GameLib.API.Component.prototype);
|
2017-12-04 13:23:15 +01:00
|
|
|
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
|
|
|
|
);
|
|
|
|
|
|
|
|
};
|