mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 07:24:52 +09:00
Changed research transfer data from array to objects
This commit is contained in:
1 parent
718315849c
commit
19913af056
1 file changed
+16
-14
@@ -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) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user