您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Windowed variant, Base Upgrade info and POI info
当前为
// ==UserScript== // @name Flunik Tools reloaded // @namespace FlunikTools reloaded // @description Windowed variant, Base Upgrade info and POI info // @version 4.2.4 // @author dbendure // @include http*://prodgame*.alliances.commandandconquer.com/*/index.aspx* // ==/UserScript== //change meaning the increase, the difference between pre and post upgarde //cost, change and time until. (function() { var FlunikTools_main = function() { try { function CCTAWrapperIsInstalled() { return (typeof(CCTAWrapper_IsInstalled) != 'undefined' && CCTAWrapper_IsInstalled); } function createFlunikTools() { console.log('FLUNIKTOLS createFlunikTools'); qx.Class.define("FlunikTools.Main", { type: "singleton", extend: qx.core.Object, members: { AutoUpdateButton: null, cmdButton: null, autoUpdateHandleAll: null, composite: null, tabView: null, tabViewA: null, tabViewB: null, page1: null, win: null, //checkGB : null, groupBoxA: null, groupBoxB: null, groupBoxC: null, groupBoxD: null, checkBoxA: null, checkBoxB: null, checkBoxC: null, cityPage: null, cmdB: null, textfield: null, tableModel: null, table: null, poiRows: null, createRandomRows: null, initialize: function() { console.log('FLUNIKTOLS initialize'); win = new qx.ui.window.Window("First Window"); win.setWidth(600); win.setHeight(300); win.setShowMinimize(false); win.setLayout(new qx.ui.layout.VBox()); ////////////////////////////////////////////////////////// composite = new qx.ui.container.Composite(); composite.setLayout(new qx.ui.layout.Basic()); //////////////////////////////////////////////////////////////// // table model tableModel = new qx.ui.table.model.Simple(); //tableModel.setColumns([ "ID", "Type", "Level", "Score" ]); if (this.poiRows() != null) { this.poiRows(); } tableModelA = new qx.ui.table.model.Simple(); tableModelA.setColumns(["Name", "Type", "Level", "ProductionA", "NewLvlDeltaA", "ProductionB", "NewLvlDeltaB", "ProductonC", "NewLvlDeltaC", "TibCost", "PowCost", "x", "y"]); // make second column editable //tableModel.setColumnEditable(1, true); // table var table = new qx.ui.table.Table(tableModel).set({ decorator: null, Padding: 1, }); var tableA = new qx.ui.table.Table(tableModelA).set({ decorator: null, Padding: 1, height: 200, width: 600 }); //////////////////////////////////////////////////////////////// page2 = new qx.ui.tabview.Page("Base Upgrade"); page2.setLayout(new qx.ui.layout.VBox()); //////////////////////////////////////////////////////////////// page3 = new qx.ui.tabview.Page("Poi Info"); page3.setLayout(new qx.ui.layout.VBox()); page3.add(table); //////////////////////////////////////////////////////////////// tabView = new qx.ui.tabview.TabView(); tabView.setBarPosition('left'); //page2.add(tabView); ////////////////////////////////////////////////////////////////// tabViewB = new qx.ui.tabview.TabView(); tabViewB.setBarPosition('left'); tibPage = new qx.ui.tabview.Page("Tib", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/98abd73f92a4fb8f5f3a28a1b2a82344.png"); tibPage.setLayout(new qx.ui.layout.VBox()); cryPage = new qx.ui.tabview.Page("Cry", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/61f096dde442bd3be1843a0929900194.png"); cryPage.setLayout(new qx.ui.layout.VBox()); powPage = new qx.ui.tabview.Page("Pow", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/fa6798783e2c662ce81e861990aef03a.png"); powPage.setLayout(new qx.ui.layout.VBox()); defPage = new qx.ui.tabview.Page("Def", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/58f5d05df06e0f7a168de22ecd3baaf8.png"); defPage.setLayout(new qx.ui.layout.VBox()); infPage = new qx.ui.tabview.Page("Inf", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/2a86e68b80393142036e6b9121852555.png"); infPage.setLayout(new qx.ui.layout.VBox()); vehPage = new qx.ui.tabview.Page("Veh", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/fdb2ebef642e14b91439d4b152c6c401.png"); vehPage.setLayout(new qx.ui.layout.VBox()); airPage = new qx.ui.tabview.Page("Air", "https://eaassets-a.akamaihd.net/cncalliancesgame/cdn/data/b8735956fb36d35b16faf087bbcbd293.png"); airPage.setLayout(new qx.ui.layout.VBox()); tabViewB.add(tibPage); tabViewB.add(cryPage); tabViewB.add(powPage); tabViewB.add(defPage); tabViewB.add(infPage); tabViewB.add(vehPage); tabViewB.add(airPage); page3.add(tabViewB); ////////////////////////////////////////////////////////////////// tabViewA = new qx.ui.tabview.TabView(); tabViewA.setBarPosition('top'); tabViewA.add(page2); tabViewA.add(page3); ////////////////////////////////////////////////////////////////// page1 = new qx.ui.tabview.Page("BaseName"); page1.setLayout(new qx.ui.layout.VBox()); //page1.add(new qx.ui.basic.Label("Page Content")); //tabView.add(page1); ///////////////////////////////////////////////////////////////// /*checkGB = new qx.ui.groupbox.CheckGroupBox("Label"); checkGB.setLayout(new qx.ui.layout.VBox());*/ ///////////////////////////////////////////////////////////////// groupBoxA = new qx.ui.groupbox.GroupBox("Buildings"); groupBoxA.setLayout(new qx.ui.layout.Grid()); groupBoxB = new qx.ui.groupbox.GroupBox("Defense"); groupBoxB.setLayout(new qx.ui.layout.Grid()); groupBoxC = new qx.ui.groupbox.GroupBox("Offence"); groupBoxC.setLayout(new qx.ui.layout.Grid()); groupBoxD = new qx.ui.groupbox.GroupBox("Base"); groupBoxD.setLayout(new qx.ui.layout.VBox()); groupBoxE = new qx.ui.groupbox.GroupBox(); groupBoxE.setLayout(new qx.ui.layout.VBox()); groupBoxF = new qx.ui.groupbox.GroupBox().set({ height: 300, width: 600 }); groupBoxF.setLayout(new qx.ui.layout.VBox()); ////////////////////////////////////////////////////////////////// /* checkBoxA = new qx.ui.form.CheckBox("stuffA"); checkBoxCy = new qx.ui.form.CheckBox("Construction_Yard"); checkBoxRe = new qx.ui.form.CheckBox("Refinery"); checkBoxPp = new qx.ui.form.CheckBox("PowerPlant"); checkBoxCc = new qx.ui.form.CheckBox("Command_Center"); checkBoxDh = new qx.ui.form.CheckBox("Defense_HQ"); checkBoxBa = new qx.ui.form.CheckBox("Barracks"); checkBoxFa = new qx.ui.form.CheckBox("Factory"); checkBoxAi = new qx.ui.form.CheckBox("Airport"); checkBoxDf = new qx.ui.form.CheckBox("Defense_Facility"); //checkBoxA = new qx.ui.form.CheckBox(ClientLib.Base.ETechName.Research_BaseFound //checkBoxA = new qx.ui.form.CheckBox(ClientLib.Base.ETechName.Harvester_Crystal checkBoxHa = new qx.ui.form.CheckBox("Harvester"); checkBoxSai = new qx.ui.form.CheckBox("Support_Air"); checkBoxSio = new qx.ui.form.CheckBox("Support_Ion"); checkBoxSar = new qx.ui.form.CheckBox("Support_Art"); checkBoxSi = new qx.ui.form.CheckBox("Silo"); checkBoxAc = new qx.ui.form.CheckBox("Accumulator"); checkBoxB = new qx.ui.form.CheckBox("stuffB"); checkBoxC = new qx.ui.form.CheckBox("stuffC"); */ ////////////////////////////////////////////////////////////////// textfield = new qx.ui.form.TextArea("Change me..."); //textfield.setLiveUpdate(true); //var label = new qx.ui.basic.Label("Change me..."); //textfield.bind("value", label, "value"); ///////////////////////////////////////////////////////////////////// //groupBoxA.add(checkBoxCy, {row : 0, column : 0}); //groupBoxA.add(checkBoxRe, {row : 0, column : 1}); //groupBoxA.add(checkBoxPp, {row : 0, column : 2}); //groupBoxA.add(checkBoxCc, {row : 0, column : 3}); //groupBoxA.add(checkBoxDh, {row : 1, column : 0}); //groupBoxA.add(checkBoxBa, {row : 1, column : 1}); //groupBoxA.add(checkBoxFa, {row : 1, column : 2}); //groupBoxA.add(checkBoxAi, {row : 1, column : 3}); //groupBoxA.add(checkBoxDf, {row : 2, column : 0}); //groupBoxA.add(checkBoxHa, {row : 2, column : 1}); //groupBoxA.add(checkBoxSai, {row : 3, column : 1}); //groupBoxA.add(checkBoxSio, {row : 3, column : 2}); //groupBoxA.add(checkBoxSar, {row : 3, column : 0}); //groupBoxA.add(checkBoxSi, {row : 2, column : 2}); //groupBoxA.add(checkBoxAc, {row : 2, column : 3}); //groupBoxB.add(checkBoxB, {row : 3, column : 3}); //groupBoxC.add(checkBoxC, {row : 4, column : 0}); groupBoxF.add(tableA); groupBoxD.add(groupBoxA); groupBoxD.add(groupBoxB); groupBoxD.add(groupBoxC); //groupBoxF.add(textfield); //groupBoxF.add(label); /*checkGB.add(groupBoxA); checkGB.add(groupBoxB); checkGB.add(groupBoxC);*/ page2.add(groupBoxE); page2.add(tabView); page2.add(groupBoxF); //page2.add(label); page1.add(groupBoxD); composite.add(tabViewA); win.add(tabViewA); //win.open(); /*this.getRoot().add(win, {left:20, top:20}); win.open();*/ AutoUpdateButton = new qx.ui.form.Button("Toggle Autoupdate", null).set({ toolTipText: "Autoupdate", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); cmdButton = new qx.ui.form.RepeatButton("command", null).set({ toolTipText: "Autoupdate", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true, firstInterval: 10000, interval: 10000, minTimer: 0, timerDecrease: 1000 }), tibButton = new qx.ui.form.Button("Tib", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); cryButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); powButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); defButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); infButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); vehButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); airButton = new qx.ui.form.Button("command", null).set({ toolTipText: "press to refresh table", width: 100, height: 40, maxWidth: 100, maxHeight: 40, appearance: ("button-playarea-mode-frame"), //"button-standard-"+factionText), button-playarea-mode-red-frame center: true }); table.addListener("cellTap", function(e) { if (table.getFocusedRow() != null) { var x = table.getTableModel().getData()[table.getFocusedRow()][3]; var y = table.getTableModel().getData()[table.getFocusedRow()][4]; FlunikTools.Main.getInstance().viewPOI(x, y); } //webfrontend.gui.UtilView.centerCoordinatesOnRegionViewWindow(parseInt('554', 10), parseInt('194', 10)); }, this); tibButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Tib") { FlunikTools.Main.getInstance().poiRows(); } }, this); tibPage.add(tibButton); cryButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Cry") { FlunikTools.Main.getInstance().poiRows(); } }, this); cryPage.add(cryButton); powButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Pow") { FlunikTools.Main.getInstance().poiRows(); } }, this); powPage.add(powButton); defButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Def") { FlunikTools.Main.getInstance().poiRows(); } }, this); defPage.add(defButton); infButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Inf") { FlunikTools.Main.getInstance().poiRows(); } }, this); infPage.add(infButton); vehButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Veh") { FlunikTools.Main.getInstance().poiRows(); } }, this); vehPage.add(vehButton); airButton.addListener("click", function(e) { if (tabViewB.getSelection()[0].getLabel() == "Air") { FlunikTools.Main.getInstance().poiRows(); } }, this); airPage.add(airButton); cmdButton.addListener("execute", function(e) { //numb = 0; if (FlunikTools.Main.getInstance().autoUpdateHandleAll != null) { //numb = 0; FlunikTools.Main.getInstance().stopAutoUpdate(); cmdButton.setLabel("cmd.OFF"); //FlunikTools.Main.getInstance().clearCheckBox(); //FlunikTools.Main.getInstance().NumberCount(numb); } else { this.startAutoUpdate(); cmdButton.setLabel("cmd.ON"); //win.open(); } //groupBoxE.add(cmdButton); //page.add(new qx.ui.form.CheckBox("Reading")); }, this); AutoUpdateButton.addListener("click", function(e) { //numb = 0; if (FlunikTools.Main.getInstance().cmdB != null) { //numb = 0; FlunikTools.Main.getInstance().stopCmdAutoUpdate(); AutoUpdateButton.setLabel("B.OFF"); //FlunikTools.Main.getInstance().clearCheckBox(); //win.close(); //FlunikTools.Main.getInstance().NumberCount(numb); } else { FlunikTools.Main.getInstance().cmdUpdate(); AutoUpdateButton.setLabel("B.ON"); //win.open(); } if (AutoUpdateButton.getLabel() == "B.ON") { win.open(); if (FlunikTools.Main.getInstance().poiRows() != null) { FlunikTools.Main.getInstance().poiRows(); } } else { win.close(); } //page.add(new qx.ui.form.CheckBox("Reading")); }, this); groupBoxE.add(new qx.ui.basic.Label("Options")); groupBoxE.add(cmdButton); var app = qx.core.Init.getApplication(); app.getDesktop().add(AutoUpdateButton, { right: 120, bottom: 100 }); /*if(win.isActive()){ FlunikTools.Main.getInstance().startAutoUpdate(); } else { FlunikTools.Main.getInstance().stopAutoUpdate(); }*/ }, viewPOI: function(coordx, coordy) { return webfrontend.gui.UtilView.centerCoordinatesOnRegionViewWindow(parseInt(coordx.toString(), 10), parseInt(coordy.toString(), 10)); }, buildingRows: function(arr, building, type, prodA, prodB, prodC, costA, costB, deltaA, deltaB, deltaC) { var _this = FlunikTools.Main.getInstance(); var buildingName = building.get_UnitGameData_Obj().dn; var x = building.get_CoordX(); var y = building.get_CoordY(); if(building.get_TechName() == ClientLib.Base.ETechName.PowerPlant){ tableModelA.setColumns(["Name", "Type", "Level", "PowerProduction", "NewLvlDeltaA", "CrystalProduction", "NewLvlDeltaB", "CreditProducton", "NewLvlDeltaC", "TibCost", "PowCost", "x", "y"]); arr.push([buildingName, type, building.get_CurrentLevel(), prodA, deltaA, prodB, deltaB, prodC, deltaC, costA, costB, x, y]); } if(building.get_TechName() == ClientLib.Base.ETechName.Refinery){ tableModelA.setColumns(["Name", "Type", "Level", "PowerCreditProduction", "NewLvlDeltaA", "TibCreditProduction", "NewLvlDeltaB", "TibCost", "PowCost", "x", "y", "", ""]); arr.push([buildingName, type, building.get_CurrentLevel(), prodA, deltaA, prodB, deltB, costA, costB, x, y, "", ""]); } if(building.get_TechName() == ClientLib.Base.ETechName.Harvester){ tableModelA.setColumns(["Name", "Type", "Level", "TibProduction", "NewLvlDeltaA", "CryProduction", "NewLvlDeltaB", "TibCost", "PowCost", "x", "y", "", ""]); arr.push([buildingName, type, building.get_CurrentLevel(), prodA, deltaA, prodB, deltaB, costA, costB, x, y, "", ""]); } if(building.get_TechName() == ClientLib.Base.ETechName.Silo){ tableModelA.setColumns(["Name", "Type", "Level", "TibProduction", "NewLvlDeltaA", "CryProduction", "NewLvlDeltaB", "TibCost", "PowCost", "x", "y", "", ""]); arr.push([buildingName, type, building.get_CurrentLevel(), prodA, deltaA, prodB, deltaB, costA, costB, x, y, "", ""]); } if(building.get_TechName() == ClientLib.Base.ETechName.Accumulator){ tableModelA.setColumns(["Name", "Type", "Level", "PowerProduction", "NewLvlDelta", "TibCost", "PowCost", "x", "y", "", "", "", ""]); arr.push([buildingName, type, building.get_CurrentLevel(), prodA, deltaA, costA, costB, x, y, "", "", "", ""]); } tableModelA.setData(arr); //rowData = []; }, poiRows: function() { //var inputField = document.querySelector('input:focus, textarea:focus'); //if (inputField != null) { var num = -1; var tibArr = []; var rowData = []; var poiSorceHolder = []; poiRank_Score = ClientLib.Data.MainData.GetInstance().get_Alliance().get_POIRankScore(); tableModel.setColumns(["ifLost", "Level", "Score", "XCoord", "YCoord"]); for (var key in ClientLib.Data.MainData.GetInstance().get_Alliance().get_OwnedPOIs()) { var obj = ClientLib.Data.MainData.GetInstance().get_Alliance().get_OwnedPOIs()[key]; tibArr[num] = obj; //var objCoords = obj.x, obj.y;//document.write(webfrontend.gui.util.BBCode.createCoordsLinkText(obj.x, obj.y)); if (tabViewB.getSelection()[0].getLabel() == "Tib" && obj.t == ClientLib.Base.EPOIType.TiberiumBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[0].s, "", "", "", ""]); val = poiRank_Score[0].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[0].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Cry" && obj.t == ClientLib.Base.EPOIType.CrystalBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[1].s, "", "", "", ""]); val = poiRank_Score[1].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[1].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Pow" && obj.t == ClientLib.Base.EPOIType.PowerBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[2].s, "", "", "", ""]); val = poiRank_Score[2].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[2].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Inf" && obj.t == ClientLib.Base.EPOIType.InfanteryBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[3].s, "", "", "", ""]); val = poiRank_Score[3].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[3].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Veh" && obj.t == ClientLib.Base.EPOIType.VehicleBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[4].s, "", "", "", ""]); val = poiRank_Score[4].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[4].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Air" && obj.t == ClientLib.Base.EPOIType.AirBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[5].s, "", "", "", ""]); val = poiRank_Score[5].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[5].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } if (tabViewB.getSelection()[0].getLabel() == "Def" && obj.t == ClientLib.Base.EPOIType.DefenseBonus) { num++; poiSorceHolder[num] = ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l); if (num >= 0) { if (num == 0) { rowData.push([poiRank_Score[6].s, "", "", "", ""]); val = poiRank_Score[6].s - poiSorceHolder[num]; } else if (num >= 1) { val = poiRank_Score[6].s - poiSorceHolder.reduce(function(previousValue, currentValue, index, array) { return (previousValue + currentValue); }); } } rowData.push([val, obj.l, ClientLib.Base.PointOfInterestTypes.GetScoreByLevel(obj.l), obj.x, obj.y]); } //num++; } tableModel.setData(rowData); rowData = []; //tableModel.setData(FlunikTools.Main.getInstance().createRandomRows(tibArr.length)); //return tibArr.length //} }, cityPage: function(city, num) { var _this = FlunikTools.Main.getInstance(); var pageArr = new Array(); var groupBoxArrA = new Array(); var groupBoxArrB = new Array(); var groupBoxArrC = new Array(); var groupBoxArr = new Array(); //var checkBoxArr = new Array(); if (num == 0 && num >= tabView.getChildren().length) { //page1.resetLabel(); //page1.setLabel(city.m_SupportDedicatedBaseName); ////groupBoxD.resetLegend(); //groupBoxD.setLegend("Upgrade on this base: " + city.m_SupportDedicatedBaseName); page = new qx.ui.tabview.Page(city.m_SupportDedicatedBaseName); pageArr[num] = page; pageArr[num].setLayout(new qx.ui.layout.VBox()); groupBoxArrA[num] = new qx.ui.groupbox.GroupBox("Buildings"); groupBoxArrA[num].setLayout(new qx.ui.layout.Grid()); groupBoxArrB[num] = new qx.ui.groupbox.GroupBox("Defense"); groupBoxArrB[num].setLayout(new qx.ui.layout.Grid()); groupBoxArrC[num] = new qx.ui.groupbox.GroupBox("Offense"); groupBoxArrC[num].setLayout(new qx.ui.layout.Grid()); groupBoxArr[num] = new qx.ui.groupbox.GroupBox("Upgrade on this base: " + city.m_SupportDedicatedBaseName); groupBoxArr[num].setLayout(new qx.ui.layout.VBox()); groupBoxArr[num].add(groupBoxArrA[num]); groupBoxArr[num].add(groupBoxArrB[num]); groupBoxArr[num].add(groupBoxArrC[num]); pageArr[num].add(groupBoxArr[num]); tabView.add(pageArr[num]); //console.log(num, page1.getLabel(), page1.setLabel(city.m_SupportDedicatedBaseName) ); } if (num > 0 && num >= tabView.getChildren().length) { page = new qx.ui.tabview.Page(city.m_SupportDedicatedBaseName); pageArr[num] = page; pageArr[num].setLayout(new qx.ui.layout.VBox()); groupBoxArrA[num] = new qx.ui.groupbox.GroupBox("Buildings"); groupBoxArrA[num].setLayout(new qx.ui.layout.Grid()); groupBoxArrB[num] = new qx.ui.groupbox.GroupBox("Defense"); groupBoxArrB[num].setLayout(new qx.ui.layout.Grid()); groupBoxArrC[num] = new qx.ui.groupbox.GroupBox("Offense"); groupBoxArrC[num].setLayout(new qx.ui.layout.Grid()); groupBoxArr[num] = new qx.ui.groupbox.GroupBox("Upgrade on this base: " + city.m_SupportDedicatedBaseName); groupBoxArr[num].setLayout(new qx.ui.layout.VBox()); groupBoxArr[num].add(groupBoxArrA[num]); groupBoxArr[num].add(groupBoxArrB[num]); groupBoxArr[num].add(groupBoxArrC[num]); pageArr[num].add(groupBoxArr[num]); tabView.add(pageArr[num]); } }, buildingBox(building, num, tech, arr, typeNum) { var groupBoxArrA = new Array(); var checkBox; //console.log(building, tech, num, arr); if (num == 0) { if (tech == ClientLib.Base.ETechName.Research_BaseFound) { checkBox; } else if (tech == ClientLib.Base.ETechName.Construction_Yard && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Refinery && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 1 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.PowerPlant && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Command_Center && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 3 }); } } catch (e) { console.log("createFlunikTools: ", e); } //continue; } else if (tech == ClientLib.Base.ETechName.Defense_HQ && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Barracks && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 1 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Factory && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Airport && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 3 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Defense_Facility && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Harvester && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 1 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Support_Air && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } //continue; } else if (tech == ClientLib.Base.ETechName.Support_Ion && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Support_Art && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Silo && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 3 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Accumulator && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 3, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } } } if (num > 0) { //console.log(tabView.getSelectables()[num]); if (tech == ClientLib.Base.ETechName.Research_BaseFound) { checkBox; } else if (tech == ClientLib.Base.ETechName.Construction_Yard && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } //tabView.getChildren()[num].getChildren()[0].getChildren()[0].add(new qx.ui.form.CheckBox(building), {row : 0, column : 0}); //continue; } else if (tech == ClientLib.Base.ETechName.Refinery && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 1 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.PowerPlant && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Command_Center && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 0, column: 3 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Defense_HQ && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 0 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Barracks && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 1 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Factory && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 2 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Airport && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 1, column: 3 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Defense_Facility && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 0 }); } //FlunikTools.Main.getInstance().plzCheckBox(num, building, typeNum); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Harvester && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 1 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Support_Air && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Support_Ion && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } //continue; else if (tech == ClientLib.Base.ETechName.Support_Art && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 2 }); } } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Silo && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 2, column: 3 }); } //groupBoxArrA[0].add(new qx.ui.form.CheckBox(building), {row : 2, column : 3}); } catch (e) { console.log("createFlunikTools: ", e); } } else if (tech == ClientLib.Base.ETechName.Accumulator && tech == arr[building]) { try { if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, building, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(building), { row: 3, column: 0 }); } } catch (e) { console.log("createFlunikTools: ", e); } } } }, plzCheckBox: function(num, building, typeNum) { var bool = false; for (var key in tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()) { var obj = tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()[key]; //if(obj.getLabel() == building || obj.toString() == "undefined"){ if (cmdButton.getLabel() == "cmd.On") { obj.setValue() = true; } } //return bool; }, isCheckBoxChecked: function(num, building, typeNum) { var bool = false; for (var key in tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()) { var obj = tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()[key]; //if(obj.getLabel() == building || obj.toString() == "undefined"){ if (obj.getValue() && obj.getLabel() == building) { bool = true; } } return bool; }, isCheckBoxPlaced: function(num, building, typeNum) { var bool = false; for (var key in tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()) { var obj = tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].getChildren()[key]; if (obj.getLabel() == building || obj.toString() == "undefined") { bool = true; } } return bool; }, clearCheckBox: function() { var bool = false; for (var key in tabView.getSelectables()) { var piece = tabView.getSelectables()[key]; for (var aKey in piece.getChildren()[0].getChildren()[typeNum].getChildren()) { var obj = piece.getChildren()[0].getChildren()[aKey]; if (obj.toString() != "undefined") { bool = obj.removeAll(); } } } return bool; }, unitBox: function(unitName, num, typeNum, xNum, yNum) { if (typeNum == 2) { //console.log(unitName, num, typeNum, xNum, yNum); if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, unitName, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(unitName), { row: xNum, column: yNum }); //console.log(unitName, num, typeNum, xNum, yNum); } } else if (typeNum == 1) { //console.log(unitName, num, typeNum, xNum, yNum); if (FlunikTools.Main.getInstance().isCheckBoxPlaced(num, unitName, typeNum) == false) { tabView.getSelectables()[num].getChildren()[0].getChildren()[typeNum].add(new qx.ui.form.CheckBox(unitName), { row: xNum, column: yNum }); //console.log(unitName, num, typeNum, xNum, yNum); } } }, canUpgradeUnit: function(unit, city) { var _this = FlunikTools.Main.getInstance(); var nextLevel = unit.get_CurrentLevel() + 1; var gameDataTech = unit.get_UnitGameData_Obj(); var hasEnoughResources = city.HasEnoughResources(ClientLib.Base.Util.GetTechLevelResourceRequirements_Obj(nextLevel, gameDataTech)); if (gameDataTech == null || unit.get_IsDamaged() || city.get_IsLocked() || !hasEnoughResources) { return false; } var id = _this.getMainProductionBuildingMdbId(gameDataTech.pt, gameDataTech.f); var building = city.get_CityBuildingsData().GetBuildingByMDBId(id); if ((building == null) || (building.get_CurrentDamage() > 0)) { return false; } var levelReq = ClientLib.Base.Util.GetUnitLevelRequirements_Obj(nextLevel, gameDataTech); var reqTechIndexes = _this.getMissingTechIndexesFromTechLevelRequirement(levelReq, true, city); if ((reqTechIndexes != null) && (reqTechIndexes.length > 0)) { return false; } return true; }, getMainProductionBuildingMdbId: function(placementType, faction) { var mdbId = -1; var techNameId = -1; if (placementType == 2) { techNameId = 3; } else { techNameId = 4; } if (techNameId > 0) { mdbId = ClientLib.Base.Tech.GetTechIdFromTechNameAndFaction(techNameId, faction); } return mdbId; }, getMissingTechIndexesFromTechLevelRequirement: function(levelRequirements, breakAtFirst, city) { var reqTechIndexes = []; if (levelRequirements != null && levelRequirements.length > 0) { for (var lvlIndex = 0; (lvlIndex < levelRequirements.length); lvlIndex++) { var lvlReq = levelRequirements[lvlIndex]; var requirementsMet = false; var amountCounter = lvlReq.Amount; for (var buildingIndex in city.get_Buildings().d) { if (city.get_Buildings().d[buildingIndex].get_MdbBuildingId() == lvlReq.RequiredTechId && city.get_Buildings().d[buildingIndex].get_CurrentLevel() >= lvlReq.Level) { amountCounter--; if (amountCounter <= 0) { requirementsMet = true; break; } } } if (!requirementsMet) { requirementsMet = ClientLib.Data.MainData.GetInstance().get_Player().get_PlayerResearch().IsResearchMinLevelAvailable(lvlReq.RequiredTechId, lvlReq.Level); } if (!requirementsMet) { reqTechIndexes.push(lvlIndex); if (breakAtFirst) { return reqTechIndexes; } } } } return reqTechIndexes; }, // Add the below function to your code and then use // this.canUpgradeBuilding(building, city) // instead of // building.CanUpgrade() //Thanks to KRS_L canUpgradeBuilding: function(building, city) { var nextLevel = (building.get_CurrentLevel() + 1); var gameDataTech = building.get_TechGameData_Obj(); var hasEnoughResources = city.HasEnoughResources(ClientLib.Base.Util.GetTechLevelResourceRequirements_Obj(nextLevel, gameDataTech)); return (!building.get_IsDamaged() && !city.get_IsLocked() && hasEnoughResources); }, startAutoUpdate: function() { //var _this = FlunikTools.Main.getInstance(); //_this.win.open(); //_this.autoUpgrade(); this.autoUpdateHandleAll = window.setInterval(this.autoUpgrade(), 30000); //return setInterval(upgrade, _this.autoUpdateHandleAll); }, stopAutoUpdate: function() { var _this = FlunikTools.Main.getInstance(); clearInterval(this.autoUpdateHandleAll); this.autoUpdateHandleAll = null; }, cmdUpdate: function() { var _this = FlunikTools.Main.getInstance(); //this.autoUpgrade(); _this.cmdB = 1; }, stopCmdAutoUpdate: function() { var _this = FlunikTools.Main.getInstance(); _this.cmdB = null; }, autoUpgrade: function() { console.log("Start of Main Function"); var _this = FlunikTools.Main.getInstance(); var num = -1; var checkBoxes = null; var buildArr = []; //_this.cityPageTab(_this.cityName(), _this.buildingName()); //page2.getChildren()[1].getChildren()[num] == 0; for (var nCity in ClientLib.Data.MainData.GetInstance().get_Cities().get_AllCities().d) { num++; var city = ClientLib.Data.MainData.GetInstance().get_Cities().get_AllCities().d[nCity]; console.log(city.m_SupportDedicatedBaseName); try { _this.cityPage(city, num); } catch (e) { console.log("error : ", e) } var buildings = city.get_Buildings(); //console.log(city); var fNum = 0; var B_obj = 0; var D_obj = 0; var O_obj = 0; var x = -1; var y = -1; var nameArr = new Array(); var gNum = -1; var typeArr5 = []; //typeArr5[num] = new Array(); for (var nBuildings in buildings.d) { var aNum = -1; var bNum = -1; var cNum = -1; var dNum = -1; var eNum = -1; var type = ""; var building = buildings.d[nBuildings]; var tech = building.get_TechName(); var buildingName = building.get_UnitGameData_Obj().dn; nameArr[buildingName] = tech; //_this.buildingBox(buildingName, num, tech);continue; //if(num == 0){ aNum = 0; //console.log(aNum, bNum, cNum, dNum, eNum); if (tech == ClientLib.Base.ETechName.Construction_Yard) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } //ClientLib.Base.ETechName.Construction_Yard if (tech == ClientLib.Base.ETechName.Refinery) { gNum++; type = "Credits"; var Delta = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].NewLvlDelta; var refPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].TotalValue; var refPac = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsPackageSize].TotalValue; var refPacperH = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsBonusTimeToComplete].TotalValue; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; var LinkTypes0 = 0; var LinkTypes1 = 0; var deltaA = 0; var deltaB = 0; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[36] != undefined) { LinkTypes0 = (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerplantCreditBonus].Value); deltaA = (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerplantCreditBonus].NewLvlDelta) //var refTotalPro = refPro + (refPac/(refPacperH/3600)) + LinkTypes0 ; } else { LinkTypes0 = 0; deltaA = 0; } if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[37] != undefined) { LinkTypes1 = (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.TiberiumCreditProduction].Value); deltaB = (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.TiberiumCreditProduction].NewLvlDelta) //var refTotalPro = refPro + (refPac/(refPacperH/3600)) + LinkTypes0 + LinkTypes1 ; } else { LinkTypes1 = 0; } if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1, "", tibCost, powCost, deltaA, deltaB); //_this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1, tibCost, powCost, change, time); } _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.PowerPlant) { gNum++; type = "Power"; var Delta = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].NewLvlDelta; var powPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].TotalValue; var powPac = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerPackageSize].TotalValue; var powPacperH = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerBonusTimeToComplete].TotalValue; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; var LinkTypes0 = 0; var LinkTypes1 = 0; var LinkTypes2 = 0; var powTotalProOfLevel12 = 605 + (7260 / 6) + 570 + 456 + 484; var deltaA = 0; var deltaB = 0; var deltaC = 0; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.AccumulatorPowerBonus] != undefined) { LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.AccumulatorPowerBonus].Value; deltaA = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.AccumulatorPowerBonus].NewLvlDelta; //LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.CrystalCreditProduction].Value ; } else { LinkTypes0 = 0; } if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.CrystalCreditProduction] != undefined) { LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.CrystalCreditProduction].Value; deltaB = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.CrystalCreditProduction].NewLvlDelta; } else { LinkTypes1 = 0; } if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[42] != undefined) { LinkTypes2 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.RefineryPowerBonus].Value; deltaC = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CreditsProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.RefineryPowerBonus].NewLvlDelta; } else { LinkTypes2 = 0; } if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1, LinkTypes2, tibCost, powCost, deltaA, deltaB, deltaC); } _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Command_Center) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Defense_HQ) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Barracks) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Factory) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Airport) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Defense_Facility) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Harvester) { gNum++; var LinkTypes0 = 0; var LinkTypes1 = 0; var deltaA = 0; var deltaB = 0; //OwnProdModifiers.d[1].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloTiberiumProduction].Value - if ((city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[1, 25, 33])) { type = "Tiberium"; var Delta = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].NewLvlDelta; var hartibPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].TotalValue; //var LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloTiberiumProduction].Value; var hartibPac = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumPackageSize].TotalValue; var hartibPacperH = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumBonusTimeToComplete].TotalValue; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloTiberiumProduction] != undefined) { LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloTiberiumProduction].Value; deltaA = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloTiberiumProduction].NewLvlDelta } else { LinkTypes0 = 0; } if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1,"" , tibCost, powCost, deltaA, deltaB); } } if ((city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[4, 26, 34])) { type = "Crystal"; var Delta = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].NewLvlDelta; var harcryPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].TotalValue; //var LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloCrystalProduction].Value; var harcryPac = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalPackageSize].TotalValue; var harcryPacperH = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalBonusTimeToComplete].TotalValue; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; //var harCryCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0 || 1].Count; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloCrystalProduction] != undefined) { LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloCrystalProduction].Value; deltaB = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.SiloCrystalProduction].NewLvlDelta; //var harCryTotalPro = harcryPro + (harcryPac/(harcryPacperH/3600)) + LinkTypes1; } else { var LinkTypes1 = 0; } if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1,"" ,tibCost, powCost, deltaA, deltaB); } } _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Support_Air) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Support_Ion) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Support_Art) { _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Silo) { gNum++; type = "Tib + Cry"; var LinkTypes1 = 0; var LinkTypes0 = 0; var deltaA = 0; var deltaB = 0; var silTotalPro = 0; var DeltaA = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].NewLvlDelta; var DeltaB = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].NewLvlDelta; var silCryPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].TotalValue; //var LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterCrystalProduction].Value; var silTibPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].TotalValue; //var LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterTiberiumProduction].Value; var silCrySto = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalStorage].TotalValue; var silTibSto = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumStorage].TotalValue; //var silCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0 || 1].Count; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterCrystalProduction] == undefined) { LinkTypes1 = 0; } else { LinkTypes1 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterCrystalProduction].Value; deltaA = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.CrystalProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterCrystalProduction].NewLvlDelta; //silTotalPro = LinkTypes1 + LinkTypes0; } if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterTiberiumProduction] == undefined) { LinkTypes0 = 0; } else { LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterTiberiumProduction].Value; deltaB = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.TiberiumProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.HarvesterTiberiumProduction].NewLvlDelta; //silTotalPro = LinkTypes1 + LinkTypes0; } console.log(building); if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, LinkTypes1, "",tibCost, powCost, deltaB, deltaA); } _this.buildingBox(buildingName, num, tech, nameArr, aNum); } if (tech == ClientLib.Base.ETechName.Accumulator) { var LinkTypes0 = 0; //OwnProdModifiers.d[6].ConnectedLinkTypes.d[41].Value gNum++; type = "Power"; var deltaA = 0; var Delta = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].NewLvlDelta; var accPro = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].TotalValue; //var LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerPlantAccumulatorBonus].Value; var accSto = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerStorage].TotalValue; var tibCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0].Count; var powCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[1].Count; //var accCost = ClientLib.Base.Util.GetUnitLevelResourceRequirements_Obj((building.get_CurrentLevel() + 1), building.get_UnitGameData_Obj())[0 || 1].Count; //var accTotalPro = accPro ; if (city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerPlantAccumulatorBonus] != undefined) { LinkTypes0 = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerPlantAccumulatorBonus].Value; deltaA = city.GetBuildingCache(building.get_Id()).DetailViewInfo.OwnProdModifiers.d[ClientLib.Base.EModifierType.PowerProduction].ConnectedLinkTypes.d[ClientLib.Base.ELinkType.PowerPlantAccumulatorBonus].NewLvlDelta; //var accTotalPro = LinkTypes0; } else { LinkTypes0 = 0; } if (_this.isCheckBoxChecked(num, buildingName, aNum)) { _this.buildingRows(buildArr, building, type, LinkTypes0, "", "",tibCost, powCost, deltaA); } _this.buildingBox(buildingName, num, tech, nameArr, aNum); } //_this.buildingBox(building, num); //} //console.log(_this.isCheckBoxChecked(num, buildingName, aNum), buildingName, aNum, city.m_SupportDedicatedBaseName ); //if(!_this.canUpgradeBuilding(building, city))continue; if (_this.isCheckBoxChecked(num, buildingName, aNum)) { console.log(_this.isCheckBoxChecked(num, buildingName, aNum), buildingName, aNum, city.m_SupportDedicatedBaseName); //_this.buildingRows(gNum, building, type, LinkTypes0, LinkTypes1, LinkTypes2); B_obj = { cityid: city.get_Id(), basename: city.m_SupportDedicatedBaseName, //Ratio: unitHealthperCost, unitname: building.get_UnitGameData_Obj().dn, level: building.get_CurrentLevel(), type: "Building", posX: building.get_CoordX(), posY: building.get_CoordY(), //upgradepossiblity: canUpgrade, unitId: building.get_Id() } //var label = new qx.ui.basic.Label(_this.isCheckBoxChecked(num, buildingName, aNum), buildingName, aNum, B_obj ); //console.log((_this.isCheckBoxChecked(num, buildingName, aNum), buildingName, aNum, B_obj )); //page2.add(label); } } //building loop var units = city.get_CityUnitsData(); var offenceUnits = units.get_OffenseUnits(); var gNum = 0; var hNum = 0; for (var nUnit in offenceUnits.d) { var unit = offenceUnits.d[nUnit]; //console.log(_this.canUpgradeUnit(unit, city)); var unitTech = unit.get_UnitGameData_Obj().at; var unitName = unit.get_UnitGameData_Obj().dn; var offNum = 2; //typeArr5[unitName] == unitTech; //console.log(ClientLib.Base.EUnitType.Infantry); //console.log(ClientLib.Base.EUnitType.Tank); //console.log(ClientLib.Base.EUnitType.Air); if (unitTech == ClientLib.Base.EUnitType.Infantry) { //fNum = 0; _this.unitBox(unitName, num, offNum, 0, fNum++); //console.log(typeArr5); } if (unitTech == ClientLib.Base.EUnitType.Tank) { //gNum = 0; _this.unitBox(unitName, num, offNum, 1, gNum++); } if (unitTech == ClientLib.Base.EUnitType.Air) { //hNum = 0; _this.unitBox(unitName, num, offNum, 2, hNum++); } if (!_this.canUpgradeUnit(unit, city)) continue; if (_this.isCheckBoxChecked(num, unitName, offNum)) { console.log(_this.isCheckBoxChecked(num, unitName, offNum), unitName, offNum, city.m_SupportDedicatedBaseName); //console.log(ClientLib.Base.EUnitType.Structure); O_obj = { cityid: city.get_Id(), basename: city.m_SupportDedicatedBaseName, //Ratio: unitHealthperCost, unitname: unit.get_UnitGameData_Obj().dn, level: unit.get_CurrentLevel(), type: "Offence", posX: unit.get_CoordX(), posY: unit.get_CoordY(), //upgradepossiblity: canUpgrade, unitId: unit.get_Id() } //textfield.setValue(_this.isCheckBoxChecked(num, unitName, offNum), unitName, offNum, O_obj ); } } //off loop var xNum = 0; var yNum = 0; var zNum = 0; var defenceUnits = units.get_DefenseUnits(); for (var nUnit in defenceUnits.d) { var unit = defenceUnits.d[nUnit]; //if(!_this.canUpgradeUnit(unit, city))continue; var unitTech = unit.get_UnitGameData_Obj().at; var unitName = unit.get_UnitGameData_Obj().dn; var defNum = 1; if (unitTech == ClientLib.Base.EUnitType.Infantry) { _this.unitBox(unitName, num, defNum, 0, xNum++); //console.log(typeArr5); } if (unitTech == ClientLib.Base.EUnitType.Tank) { //gNum++; _this.unitBox(unitName, num, defNum, 1, yNum++); } if (unitTech == ClientLib.Base.EUnitType.Structure) { //hNum++; _this.unitBox(unitName, num, defNum, 2, zNum++); } if (!_this.canUpgradeUnit(unit, city)) continue; if (_this.isCheckBoxChecked(num, unitName, defNum)) { console.log(_this.isCheckBoxChecked(num, unitName, aNum), unitName, aNum, city.m_SupportDedicatedBaseName, num); //if(!_this.canUpgradeUnit(unit, city))continue; D_obj = { cityid: city.get_Id(), basename: city.m_SupportDedicatedBaseName, //Ratio: unitHealthperCost, unitname: unit.get_UnitGameData_Obj().dn, level: unit.get_CurrentLevel(), type: "Defense", posX: unit.get_CoordX(), posY: unit.get_CoordY(), //upgradepossiblity: canUpgrade, unitId: unit.get_Id() } //textfield.add(_this.isCheckBoxChecked(num, unitName, defNum), unitName, defNum, D_obj); } } //def loop /* if(B_obj != 0){ console.log(B_obj); //ClientLib.Net.CommunicationManager.GetInstance().SendCommand("UpgradeBuilding", B_obj, null, null, true); //continue; } //ClientLib.Net.CommunicationManager.GetInstance().SendCommand("UnitUpgrade", O_obj, null, null, true); if(D_obj != 0){ console.log(D_obj); //ClientLib.Net.CommunicationManager.GetInstance().SendCommand("UnitUpgrade", D_obj, null, null, true); //continue; } if(O_obj != 0){ console.log(D_obj); //ClientLib.Net.CommunicationManager.GetInstance().SendCommand("UnitUpgrade", O_obj, null, null, true); //continue; } */ //container.add(tabView); //win.add(container); //win.open(); //continue; } //city loop console.log("End of Main Function"); } } }); } } catch (e) { console.log("createFlunikTools: ", e); } function FlunikTools_checkIfLoaded() { try { if (typeof qx != 'undefined' && qx.core.Init.getApplication() && qx.core.Init.getApplication().getUIItem(ClientLib.Data.Missions.PATH.BAR_NAVIGATION) && qx.core.Init.getApplication().getUIItem(ClientLib.Data.Missions.PATH.BAR_NAVIGATION).isVisible()) { createFlunikTools(); // var interval = window.setInterval FlunikTools.Main.getInstance().initialize(); if (FlunikTools.Main.getInstance().cmdButton.getLabel != null) { console.log(FlunikTools.Main.getInstance().cmdButton.getLabel); } /*if (FlunikTools.Main.getInstance().cmdButton.getLabel == "cmd.OFF") { //numb = 0; FlunikTools.Main.getInstance().stopAutoUpdate(); } else { FlunikTools.Main.getInstance()..startAutoUpdate(); }*/ } else { setTimeout(FlunikTools_checkIfLoaded, 1000); } } catch (e) { console.log("FlunikTools_checkIfLoaded: ", e); } } if (/commandandconquer\.com/i.test(document.domain)) { setTimeout(FlunikTools_checkIfLoaded, 1000); } } try { var FlunikScript = document.createElement("script"); FlunikScript.innerHTML = "(" + FlunikTools_main.toString() + ")();"; FlunikScript.type = "text/javascript"; if (/commandandconquer\.com/i.test(document.domain)) { document.getElementsByTagName("head")[0].appendChild(FlunikScript); } } catch (e) { console.log("FlunikTools: init error: ", e); } })();