From 19913af05690102b2a5a41790746b834e0056d1a Mon Sep 17 00:00:00 2001 From: psihius Date: Tue, 17 Apr 2018 23:37:34 +0300 Subject: [PATCH] Changed research transfer data from array to objects --- sharedPlugins/researchSync/index.js | 30 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/sharedPlugins/researchSync/index.js b/sharedPlugins/researchSync/index.js index c41269c5..9055d1bd 100644 --- a/sharedPlugins/researchSync/index.js +++ b/sharedPlugins/researchSync/index.js @@ -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) { } }