Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UiBuilder = function() {
- this.uiTypeMap = {};
- this.uiLayouts = {};
- this.uiComponents = {};
- this.uiElements = {};
- this.numberBuiltUis = 0;
- this.nextParentKey = null;
- };
- UiBuilder.prototype.initUiBuilder = function() {
- this.uiTypeDb = CORE.dbIf.dbReader.dbui_uitypes;
- this.uiComponentDb = CORE.dbIf.dbReader.dbui_components;
- this.uiElementDb = CORE.dbIf.dbReader.dbui_elements;
- this.uiLayoutDb = CORE.dbIf.dbReader.dbui_layouts;
- this.setUiData();
- }
- UiBuilder.prototype.setUiData = function() {
- var allUiLayouts = CORE.dbIf.getAllDocs(this.uiLayoutDb);
- // console.log(allUiLayouts);
- for (var i = 0; i < allUiLayouts.length; i++) {
- var layout = allUiLayouts[i].id;
- console.log(layout);
- if (layout != "available") {
- var composites = CORE.dbIf.dbReader.returnResponseFromField(this.uiLayoutDb, layout, "composites");
- // console.log(composites);
- this.uiLayouts[layout] = composites;
- // console.log(this.uiLayouts.layout);
- }
- };
- console.log(this.uiLayouts);
- var allUiTypes = CORE.dbIf.getAllDocs(this.uiTypeDb);
- // console.log(allUiTypes);
- for (var i = 0; i < allUiTypes.length; i++) {
- var type = allUiTypes[i].id;
- // console.log(allUiTypes[i].id);
- var components = CORE.dbIf.getFieldFromDocInDb(this.uiTypeDb, type, "components");
- // console.log(components);
- this.uiTypeMap[type] = components;
- // console.log(this.uiTypeMap);
- }
- console.log(this.uiTypeMap);
- var allComponents = CORE.dbIf.getAllDocs(this.uiComponentDb);
- console.log(allComponents)
- for (var j = 0; j < allComponents.length; j++) {
- var component = allComponents[j].id;
- // console.log(component)
- var elements = CORE.dbIf.getFieldFromDocInDb(this.uiComponentDb, component, "elements");
- this.uiComponents[component] = elements;
- // console.log(this.uiComponents)
- // console.log(elements)
- };
- console.log(this.uiComponents)
- var allElements = CORE.dbIf.getAllDocs(this.uiElementDb);
- for (var j = 0; j < allElements.length; j++) {
- var element = allElements[j].id;
- if (element != "available") {
- var elemObject = CORE.dbIf.getDocFromDb(this.uiElementDb, element);
- this.uiElements[element] = elemObject;
- }
- };
- console.log(this.uiElements)
- };
- UiBuilder.prototype.buildUiLayout = function(uiEntityObject) {
- // var entityId = uiEntityObject.id
- this.containerKeys = [];
- var uiObject = uiEntityObject;
- var layout = uiObject.layout;
- var uiRootKey = uiObject.parentKey;
- uiObject.containerKeys = this.containerKeys;
- // CORE.gameStIf.entityHandler.getEntityById(uiObject.id)["containerKey"] = this.containerKeys;
- this.numberBuiltUis = this.numberBuiltUis+1;
- var composites = this.uiLayouts[layout];
- // console.log(this.uiLayouts)
- // console.log(composites);
- // for (var i = 0; i < composites.length; i++) {
- var composit = composites[uiObject.type];
- this.layoutUiType(uiRootKey, composit, uiObject);
- // };
- };
- UiBuilder.prototype.layoutUiType = function(uiRootKey, composit, uiObject) {
- // console.log(composit)
- this.nextParentKey = uiRootKey;
- this.isFirst = true;
- // var type = composit["type"];
- var components = this.uiTypeMap[uiObject.type];
- // console.log(type)
- // console.log(components)
- for (var i = 0; i < components.length; i++) {
- var component = components[i];
- this.buildUiComponent(composit, component, uiObject);
- };
- // return type;
- };
- UiBuilder.prototype.buildUiComponent = function(composit, component, uiObject) {
- console.log(component)
- var elements = this.uiComponents[component];
- // console.log(this.uiComponents)
- // console.log(elements)
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- this.createUiElement(composit, component, element, uiObject);
- };
- };
- UiBuilder.prototype.createUiElement = function(composit, component, element, uiObject) {
- var elementObject = this.uiElements[element];
- // console.log(this.nextParentKey)
- this.nextParentKey = UIROOT.uiElementConfigurator.configureNewElement(uiObject, this.nextParentKey, composit, elementObject, this.isFirst)
- // console.log(component)
- if (component == "container") {
- this.containerKeys.push(this.nextParentKey)
- // CORE.gameStIf.entityHandler.addPropertyValueToEntityId("containerKey", this.nextParentKey, uiObject.id)
- console.log(uiObject)
- };
- this.isFirst = false;
- };
Add Comment
Please, Sign In to add comment