Add a blank atlas to the world

This commit is contained in:
Marc Di Luzio 2020-06-07 13:33:44 +01:00
parent 77be28f913
commit 141827fa57
2 changed files with 31 additions and 0 deletions

28
pkg/game/tile.go Normal file
View file

@ -0,0 +1,28 @@
package game
// Tile represents a single tile on the map
type Tile struct {
// Kind represends the kind of tile this is
Kind int `json:"kind"`
}
const (
ChunkDimensions = 10
)
// Chunk represents a fixed square grid of tiles
type Chunk struct {
// Tiles represents the tiles within the chunk
Tiles [ChunkDimensions][ChunkDimensions]Tile `json:"tiles"`
}
const (
// Use a fixed map dimension for now
AtlasDimensions = 10
)
// Atlas represents a grid of Chunks
// TODO: Make this resizable
type Atlas struct {
Chunks [AtlasDimensions][AtlasDimensions]Chunk `json:"chunks"`
}

View file

@ -14,6 +14,9 @@ type World struct {
// Rovers is a id->data map of all the rovers in the game
Rovers map[uuid.UUID]Rover `json:"rovers"`
// Atlas represends the world map of chunks and tiles
Atlas Atlas `json:"atlas"`
// Mutex to lock around all world operations
worldMutex sync.RWMutex