2019-03-27 15:51:58 -05:00
|
|
|
import {World} from '@avocado/physics/matter/world';
|
|
|
|
import {Room} from '@avocado/topdown';
|
|
|
|
// A flower barrel.
|
|
|
|
function flowerBarrelJSON(position) {
|
|
|
|
return {
|
|
|
|
traits: {
|
|
|
|
pictured: {
|
|
|
|
params: {
|
|
|
|
images: {
|
|
|
|
initial: {
|
|
|
|
offset: [0, -8],
|
|
|
|
size: [32, 32], // Derive?
|
|
|
|
uri: '/flower-barrel.png',
|
|
|
|
},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
existent: {},
|
|
|
|
graphical: {},
|
|
|
|
physical: {
|
|
|
|
params: {
|
|
|
|
shape: {
|
|
|
|
type: 'rectangle',
|
|
|
|
position: [0, 0],
|
|
|
|
size: [20, 10],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
positioned: {
|
|
|
|
state: {
|
|
|
|
x: position[0],
|
|
|
|
y: position[1],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
}
|
|
|
|
// Room.
|
|
|
|
const roomJSON = {
|
|
|
|
layers: [
|
|
|
|
{
|
|
|
|
entities: [],
|
|
|
|
tiles: {
|
|
|
|
size: [12, 6],
|
|
|
|
data: [
|
|
|
|
1, 5, 6, 7, 1, 2, 3, 4, 1, 5, 6, 7,
|
|
|
|
1, 5, 6, 7, 1, 66, 67, 68, 1, 5, 6, 7,
|
|
|
|
1, 5, 6, 7, 1, 5, 6, 7, 1, 5, 6, 7,
|
|
|
|
1, 5, 6, 7, 1, 5, 6, 7, 1, 5, 6, 7,
|
|
|
|
1, 5, 6, 7, 1, 5, 6, 7, 1, 5, 6, 7,
|
|
|
|
1, 5, 6, 7, 1, 5, 6, 7, 1, 5, 6, 7,
|
|
|
|
],
|
|
|
|
},
|
|
|
|
tilesetUri: '/tileset.json',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
};
|
|
|
|
for (let i = 0; i < 10; ++i) {
|
|
|
|
const x = Math.floor(Math.random() * 200) + 50;
|
|
|
|
const y = Math.floor(Math.random() * 75) + 50;
|
|
|
|
roomJSON.layers[0].entities.push(flowerBarrelJSON([x, y]));
|
|
|
|
}
|
|
|
|
export function createRoom() {
|
2019-03-27 16:11:49 -05:00
|
|
|
const room = (new Room()).fromJSON(roomJSON);
|
2019-03-27 15:51:58 -05:00
|
|
|
room.world = new World();
|
2019-03-27 16:11:49 -05:00
|
|
|
return room;
|
2019-03-27 15:51:58 -05:00
|
|
|
}
|