61 lines
2.1 KiB
JavaScript
61 lines
2.1 KiB
JavaScript
import { Tile, TileMap } from './tiles'
|
|
import { ItemPlaceable } from './items'
|
|
|
|
const map = new TileMap('assets/ground.png', 32)
|
|
|
|
// Basic tiles
|
|
const dirtTile = new Tile('DIRT', 33)
|
|
const grassTile = new Tile('GRASS_TOP', 6)
|
|
const stoneTile = new Tile('STONE', 10)
|
|
|
|
// Items for basic tiles
|
|
const dirtItem = new ItemPlaceable(dirtTile, 'dirt', 'assets/item_dirt.png')
|
|
const grassItem = new ItemPlaceable(grassTile, 'dirt_with_grass', 'assets/item_grass.png')
|
|
const stoneItem = new ItemPlaceable(stoneTile, 'stone', 'assets/item_stone.png')
|
|
|
|
// Set the items
|
|
dirtTile.item = dirtItem
|
|
grassTile.item = grassItem
|
|
stoneTile.item = stoneItem
|
|
|
|
// Register dirt tiles
|
|
map.register([
|
|
new Tile('DIRT_CORNER_TOP_LEFT', 0, true, dirtItem),
|
|
new Tile('DIRT_TOP', 1, true, dirtItem),
|
|
new Tile('DIRT_CORNER_TOP_RIGHT', 2, true, dirtItem),
|
|
new Tile('DIRT_INNER_BOTTOM_RIGHT', 3, true, dirtItem),
|
|
new Tile('DIRT_INNER_BOTTOM_LEFT', 4, true, dirtItem),
|
|
new Tile('DIRT_LEFT', 32, true, dirtItem),
|
|
dirtTile,
|
|
new Tile('DIRT_RIGHT', 34, true, dirtItem),
|
|
new Tile('DIRT_INNER_TOP_RIGHT', 35, true, dirtItem),
|
|
new Tile('DIRT_INNER_TOP_LEFT', 36, true, dirtItem),
|
|
new Tile('DIRT_CORNER_BOTTOM_LEFT', 64, true, dirtItem),
|
|
new Tile('DIRT_BOTTOM', 65, true, dirtItem),
|
|
new Tile('DIRT_CORNER_BOTTOM_RIGHT', 66, true, dirtItem)
|
|
])
|
|
|
|
// Register grass tiles
|
|
map.register([
|
|
new Tile('GRASS_CORNER_TOP_LEFT', 5, true, grassItem),
|
|
grassTile,
|
|
new Tile('GRASS_CORNER_TOP_RIGHT', 7, true, grassItem),
|
|
new Tile('GRASS_INNER_BOTTOM_RIGHT', 8, true, grassItem),
|
|
new Tile('GRASS_INNER_BOTTOM_LEFT', 9, true, grassItem),
|
|
new Tile('GRASS_LEFT', 37, true, grassItem),
|
|
new Tile('GRASS_RIGHT', 39, true, grassItem),
|
|
new Tile('GRASS_INNER_TOP_RIGHT', 40, true, grassItem),
|
|
new Tile('GRASS_INNER_TOP_LEFT', 41, true, grassItem),
|
|
new Tile('GRASS_CORNER_BOTTOM_LEFT', 69, true, grassItem),
|
|
new Tile('GRASS_BOTTOM', 70, true, grassItem),
|
|
new Tile('GRASS_CORNER_BOTTOM_RIGHT', 71, true, grassItem)
|
|
])
|
|
|
|
// Register other tiles
|
|
map.register([
|
|
new Tile('AIR', -1, false),
|
|
stoneTile
|
|
])
|
|
|
|
export default map
|