import createEcs from './create-ecs.js'; export default async function createHomestead(Ecs, id) { const ecs = createEcs(Ecs); const area = {x: 100, y: 60}; await ecs.create({ AreaSize: {x: area.x * 16, y: area.y * 16}, Ticking: {}, TileLayers: { layers: [ { area, data: Array(area.x * area.y).fill(0).map(() => 1 + Math.floor(Math.random() * 4)), source: '/assets/tileset.json', tileSize: {x: 16, y: 16}, }, { area, data: Array(area.x * area.y).fill(0), source: '/assets/tileset.json', tileSize: {x: 16, y: 16}, }, ], }, Time: {}, Water: {water: {}}, }); await ecs.create({ Collider: { bodies: [ { points: [ {x: -36, y: 8}, {x: -21, y: 8}, {x: -36, y: 17}, {x: -21, y: 17}, ], tags: ['door'], }, { impassable: 1, points: [ {x: -52, y: -16}, {x: 44, y: -16}, {x: -52, y: 15}, {x: 44, y: 15}, ], }, ], collisionStartScript: '/assets/shit-shack/collision-start.js', }, Ecs: { path: ['houses', `${id}`].join('/'), }, Position: {x: 100, y: 100}, Sprite: { anchorX: 0.5, anchorY: 0.8, source: '/assets/shit-shack/shit-shack.json', }, Ticking: {}, VisibleAabb: {}, }); return ecs; }