Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/loadgame/SavegameList.js
Show First 20 Lines • Show All 99 Lines • ▼ Show 20 Lines | this.savedGamesMetadata = this.savedGamesMetadata.sort((a, b) => { | ||||
let cmpA, cmpB; | let cmpA, cmpB; | ||||
switch (sortKey) | switch (sortKey) | ||||
{ | { | ||||
case 'date': | case 'date': | ||||
cmpA = +a.time; | cmpA = +a.time; | ||||
cmpB = +b.time; | cmpB = +b.time; | ||||
break; | break; | ||||
case 'mapName': | case 'mapName': | ||||
cmpA = translate(a.initAttributes.settings.Name); | cmpA = translate(a.initAttributes.settings.mapName); | ||||
cmpB = translate(b.initAttributes.settings.Name); | cmpB = translate(b.initAttributes.settings.mapName); | ||||
break; | break; | ||||
case 'mapType': | case 'mapType': | ||||
cmpA = translateMapType(a.initAttributes.mapType); | cmpA = translateMapType(a.initAttributes.mapType); | ||||
cmpB = translateMapType(b.initAttributes.mapType); | cmpB = translateMapType(b.initAttributes.mapType); | ||||
break; | break; | ||||
case 'description': | case 'description': | ||||
cmpA = a.description; | cmpA = a.description; | ||||
cmpB = b.description; | cmpB = b.description; | ||||
break; | break; | ||||
} | } | ||||
if (cmpA < cmpB) | if (cmpA < cmpB) | ||||
return -sortOrder; | return -sortOrder; | ||||
else if (cmpA > cmpB) | else if (cmpA > cmpB) | ||||
return +sortOrder; | return +sortOrder; | ||||
return 0; | return 0; | ||||
}); | }); | ||||
let list = this.savedGamesMetadata.map(metadata => { | let list = this.savedGamesMetadata.map(metadata => { | ||||
let isCompatible = this.isCompatibleSavegame(metadata, engineInfo) && | let isCompatible = this.isCompatibleSavegame(metadata, engineInfo) && | ||||
this.campaignFilter(metadata, this.campaignRun); | this.campaignFilter(metadata, this.campaignRun); | ||||
return { | return { | ||||
"date": this.generateSavegameDateString(metadata, engineInfo), | "date": this.generateSavegameDateString(metadata, engineInfo), | ||||
"mapName": compatibilityColor(translate(metadata.initAttributes.settings.Name), isCompatible), | "mapName": compatibilityColor(translate(metadata.initAttributes.settings.mapName), isCompatible), | ||||
"mapType": compatibilityColor(translateMapType(metadata.initAttributes.mapType), isCompatible), | "mapType": compatibilityColor(translateMapType(metadata.initAttributes.mapType), isCompatible), | ||||
"description": compatibilityColor(metadata.description, isCompatible) | "description": compatibilityColor(metadata.description, isCompatible) | ||||
}; | }; | ||||
}); | }); | ||||
if (list.length) | if (list.length) | ||||
list = prepareForDropdown(list); | list = prepareForDropdown(list); | ||||
▲ Show 20 Lines • Show All 58 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator