function makeCity(name, height) { views = { city: { attributes: { height: { name: "Highest Point", power: 1, type: "length", base: height } }, image: { source: "./media/cities/city_" + name.replace(/ /g, "-").toLowerCase() + ".svg" }, name: "City" }, }; return makeEntity({ name: name }, views); } function addCity(name, height) { return { name: name, constructor: () => makeCity(name, height) } } function makeCities() { const results = []; // USA results.push(addCity("Los Angeles", math.unit(1018, "feet"))); results.push(addCity("New York City", math.unit(1454, "feet"))); results.push(addCity("Washington", math.unit(555, "feet"))); results.push(addCity("Chicago", math.unit(1451, "feet"))); results.push(addCity("Phoenix", math.unit(483, "feet"))); results.push(addCity("San Diego", math.unit(500, "feet"))); results.push(addCity("Houston", math.unit(1002, "feet"))); results.push(addCity("San Francisco", math.unit(1070, "feet"))); results.push(addCity("Atlanta", math.unit(1023, "feet"))); results.push(addCity("Dallas", math.unit(915, "feet"))); results.push(addCity("Boston", math.unit(790, "feet"))); results.push(addCity("Seattle", math.unit(605, "feet"))); results.push(addCity("San Antonio", math.unit(750, "feet"))); results.push(addCity("St Louis", math.unit(630, "feet"))); results.push(addCity("Kansas City", math.unit(624, "feet"))); results.push(addCity("Philadelphia", math.unit(973, "feet"))); results.push(addCity("Jacksonville", math.unit(620, "feet"))); results.push(addCity("Detroit", math.unit(727, "feet"))); results.push(addCity("Indianapolis", math.unit(830, "feet"))); results.push(addCity("Columbus", math.unit(629, "feet"))); // Canada results.push(addCity("Toronto", math.unit(1814, "feet"))); results.push(addCity("Montreal", math.unit(743, "feet"))); results.push(addCity("Vancouver", math.unit(659, "feet"))); results.push(addCity("Ottawa", math.unit(367, "feet"))); results.push(addCity("Mississauga", math.unit(518, "feet"))); results.push(addCity("Edmonton", math.unit(646, "feet"))); results.push(addCity("Winnipeg", math.unit(420, "feet"))); results.push(addCity("Calgary", math.unit(626, "feet"))); // Mexico results.push(addCity("Mexico City", math.unit(807, "feet"))); results.push(addCity("Guadalajara", math.unit(705, "feet"))); results.push(addCity("Puebla", math.unit(650, "feet"))); results.push(addCity("Tijuana", math.unit(334, "feet"))); results.sort((b1, b2) => { return b1.name.localeCompare(b2.name); }); return results; }