Changed research transfer data from array to objects

This commit is contained in:
psihius committed 2018-04-17 23:37:34 +03:00
1 parent 718315849c
commit 19913af056
1 file changed
+16 -14
+16 -14
View File
@@ -43,15 +43,15 @@ class ResearchSync {
if(researchList){
Object.keys(researchList).forEach(researchName => {
if (needResearch.hasOwnProperty(researchName)) {
if (needResearch[researchName][0] !== 0) {
needResearch[researchName][0] = parseInt(researchList[researchName][0]);
if (needResearch[researchName].researched !== 0) {
needResearch[researchName].researched = parseInt(researchList[researchName].researched);
}
if (needResearch[researchName][1] < researchList[researchName][1]) {
needResearch[researchName][1] = parseInt(researchList[researchName][1]);
if (needResearch[researchName].level < parseInt(researchList[researchName].level)) {
needResearch[researchName].level = parseInt(researchList[researchName].level);
}
}
else {
needResearch[researchName] = [parseInt(researchList[researchName][0]), parseInt(researchList[researchName][1])];
needResearch[researchName] = {researched: parseInt(researchList[researchName].researched), level: parseInt(researchList[researchName].level)};
}
});
}
@@ -62,11 +62,11 @@ class ResearchSync {
let command = this.functions.enableResearch;
while(command.includes("{tech_name}")){
command = command.replace("{tech_name}", key);
command = command.replace("{tech_researched}", difference[key][0]);
command = command.replace("{tech_level}", difference[key][1]);
command = command.replace("{tech_researched}", difference[key].researched);
command = command.replace("{tech_level}", difference[key].level);
}
this.messageInterface(command);
this.messageInterface("Unlocking research: " + key + " at research state = " + (difference[key][0] === 0 ? 'false' : 'true') + ' and level ' + difference[key][1]);
this.messageInterface("Unlocking research: " + key + " at research state = " + (difference[key].researched === 0 ? 'false' : 'true') + ' and level ' + difference[key].level);
// this.messageInterface("/c game.forces['player'].technologies['" + key + "'].researched=true");
});
if(Object.keys(difference).length > 0){
@@ -86,7 +86,7 @@ class ResearchSync {
let diff = {};
Object.keys(localResearch).forEach((key) => {
if (remoteResearch.hasOwnProperty(key)) {
if (localResearch[key][0] != remoteResearch[key][0] || localResearch[key][1] != remoteResearch[key][1]) {
if (localResearch[key].researched !== remoteResearch[key].researched || localResearch[key].level !== remoteResearch[key].level) {
diff[key] = remoteResearch[key];
}
}
@@ -106,11 +106,13 @@ class ResearchSync {
}
scriptOutput(data){
try {
let kv = data.split(":");
let name = kv[0];
let researched = ('true' !== kv[1] ? 0 : 1);
let level = parseInt(kv[2]);
this.research[name] = [researched, level];
let kv = data.split(":");
let name = kv[0];
let researched = ('true' !== kv[1]
? 0
: 1);
let level = parseInt(kv[2]);
this.research[name] = {researched: researched, level: level};
} catch (e) {
}
}