Просмотр исходного кода

Add more size categories

master
Fen Dweller 5 лет назад
Родитель
Сommit
85efde3ca9
1 измененных файлов: 36 добавлений и 19 удалений
  1. +36
    -19
      macrovision.js

+ 36
- 19
macrovision.js Просмотреть файл

@@ -2373,34 +2373,51 @@ const filterDefs = {
id: "allSizes",
name: "Possible Size",
extract: maker => maker.sizes ? Array.from(maker.sizes.reduce((set, size) => {
let meters = size.height.toNumber("meters");
if (meters < 1e-1) {
set.add("micro");
} else if (meters < 1e1) {
set.add("moderate");
} else {
set.add("macro");
}
const height = size.height;

let result = Object.entries(sizeCategories).reduce((result, [name, value]) => {
if (result) {
return result;
} else {
if (math.compare(height, value) <= 0) {
return name;
}
}
}, null);

set.add(result ? result : "infinite");

return set;
}, new Set())) : [],
render: tag => { return {
"micro": "Micro",
"moderate": "Moderate",
"macro": "Macro"
}[tag]},
render: tag => tag[0].toUpperCase() + tag.slice(1),
sort: (tag1, tag2) => {
const order = {
"micro": 0,
"moderate": 1,
"macro": 2
};
const order = [
"atomic", "microscopic", "tiny", "small", "moderate", "large", "macro", "megamacro", "planetary", "stellar",
"galactic", "universal", "omniversal", "infinite"
]

return order[tag1[0]] - order[tag2[0]];
return order.indexOf(tag1[0]) - order.indexOf(tag2[0]);
}
}
}

const sizeCategories = {
"atomic": math.unit(100, "angstroms"),
"microscopic": math.unit(100, "micrometers"),
"tiny": math.unit(100, "millimeters"),
"small": math.unit(1, "meter"),
"moderate": math.unit(3, "meters"),
"large": math.unit(10, "meters"),
"macro": math.unit(300, "meters"),
"megamacro": math.unit(1000, "kilometers"),
"planetary": math.unit(10, "earths"),
"stellar": math.unit(10, "solarradii"),
"galactic": math.unit(10, "galaxies"),
"universal": math.unit(10, "universes"),
"omniversal": math.unit(10, "multiverses")
};

function prepareEntities() {
availableEntities["buildings"] = makeBuildings();
availableEntities["characters"] = makeCharacters();


Загрузка…
Отмена
Сохранить