소스 검색

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", () => {
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;

stuff.forEach(entity => {
@@ -649,6 +653,20 @@ document.addEventListener("DOMContentLoaded", () => {
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 => {

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

function prepareEntities() {


+ 11
- 6
presets/characters.js 파일 보기

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

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

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

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

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

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

불러오는 중...
취소
저장