r3-legacy/src/game-lib-api-gui.js

65 lines
1.4 KiB
JavaScript
Raw Normal View History

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