瀏覽代碼

Default to showing all characters under 1km in height

tags/v0.0.5
Fen Dweller 5 年之前
父節點
當前提交
cfa4e6cf33
共有 2 個文件被更改,包括 30 次插入8 次删除
  1. +19
    -2
      macrovision.js
  2. +11
    -6
      presets/characters.js

+ 19
- 2
macrovision.js 查看文件

@@ -640,8 +640,12 @@ function displayEntity(entity, view, x, y) {
} }


document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const stuff = [makeFen].concat(makeBuildings().map(x => x.constructor))
prepareEntities();


const stuff = availableEntities.characters.map(x => x.constructor).filter(x => {
const result = x();
return result.views[result.defaultView].height.toNumber("meters") < 1000;
})
let x = 0.2; let x = 0.2;


stuff.forEach(entity => { stuff.forEach(entity => {
@@ -649,6 +653,20 @@ document.addEventListener("DOMContentLoaded", () => {
x += 0.7 / stuff.length; x += 0.7 / stuff.length;
}) })



const order = Object.keys(entities).sort((a, b) => {
const entA = entities[a];
const entB = entities[b];
const viewA = document.querySelector("#entity-" + a).dataset.view;
const viewB = document.querySelector("#entity-" + b).dataset.view;
const heightA = entA.views[viewA].height.to("meter").value;
const heightB = entB.views[viewB].height.to("meter").value;
return heightA - heightB;
});

arrangeEntities(order);
fitWorld();
window.addEventListener("wheel", e => { window.addEventListener("wheel", e => {


const dir = e.deltaY < 0 ? 0.9 : 1.1; const dir = e.deltaY < 0 ? 0.9 : 1.1;
@@ -735,7 +753,6 @@ document.addEventListener("DOMContentLoaded", () => {
} }
} }
}) })
prepareEntities();
}); });


function prepareEntities() { function prepareEntities() {


+ 11
- 6
presets/characters.js 查看文件

@@ -1,3 +1,5 @@
const characterMakers = [];

function makeCharacter(name, author, viewInfo, defaultSizes) { function makeCharacter(name, author, viewInfo, defaultSizes) {
views = {}; views = {};
console.log(viewInfo) console.log(viewInfo)
@@ -36,7 +38,7 @@ function makeCharacter(name, author, viewInfo, defaultSizes) {
return entity; return entity;
} }


function makeFen() {
characterMakers["Fen"] = () => {
return makeCharacter( return makeCharacter(
"Fen", "Fen",
"chemicalcrux", "chemicalcrux",
@@ -69,7 +71,7 @@ function makeFen() {
} }
] ]
) )
}
};


function makeSofia() { function makeSofia() {
const views = { const views = {
@@ -1067,10 +1069,6 @@ function makeMan() {


function makeCharacters() { function makeCharacters() {
const results = []; const results = [];
results.push({
name: "Fen",
constructor: makeFen
});
results.push({ results.push({
name: "Sofia", name: "Sofia",
constructor: makeSofia constructor: makeSofia
@@ -1147,5 +1145,12 @@ function makeCharacters() {
name: "Normal man", name: "Normal man",
constructor: makeMan constructor: makeMan
}); });

Object.entries(characterMakers).forEach(([key, value]) => {
results.push({
name: key,
constructor: value
});
});
return results; return results;
} }

Loading…
取消
儲存