Add Glyph methods to convert to a glyph
This commit is contained in:
parent
53d6ad08d9
commit
acdd019093
2 changed files with 38 additions and 0 deletions
|
@ -1,6 +1,8 @@
|
|||
package atlas
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/mdiluz/rove/pkg/maths"
|
||||
)
|
||||
|
||||
|
@ -21,6 +23,23 @@ const (
|
|||
TileSand = Tile(GlyphSand)
|
||||
)
|
||||
|
||||
// Glyph returns the glyph for this tile type
|
||||
func (t Tile) Glyph() Glyph {
|
||||
switch t {
|
||||
case TileNone:
|
||||
return GlyphNone
|
||||
case TileRock:
|
||||
return GlyphRock
|
||||
case TileGravel:
|
||||
return GlyphGravel
|
||||
case TileSand:
|
||||
return GlyphSand
|
||||
}
|
||||
|
||||
log.Fatalf("Unknown tile type: %c", t)
|
||||
return GlyphNone
|
||||
}
|
||||
|
||||
// Atlas represents a 2D world atlas of tiles and objects
|
||||
type Atlas interface {
|
||||
// SetTile sets a location on the Atlas to a type of tile
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package atlas
|
||||
|
||||
import "log"
|
||||
|
||||
// ObjectType represents an object type
|
||||
type ObjectType byte
|
||||
|
||||
|
@ -18,6 +20,23 @@ const (
|
|||
ObjectLargeRock = ObjectType(GlyphLargeRock)
|
||||
)
|
||||
|
||||
// Glyph returns the glyph for this object type
|
||||
func (o ObjectType) Glyph() Glyph {
|
||||
switch o {
|
||||
case ObjectNone:
|
||||
return GlyphNone
|
||||
case ObjectRover:
|
||||
return GlyphRover
|
||||
case ObjectSmallRock:
|
||||
return GlyphSmallRock
|
||||
case ObjectLargeRock:
|
||||
return GlyphLargeRock
|
||||
}
|
||||
|
||||
log.Fatalf("Unknown object type: %c", o)
|
||||
return GlyphNone
|
||||
}
|
||||
|
||||
// Object represents an object in the world
|
||||
type Object struct {
|
||||
// The type of the object
|
||||
|
|
Loading…
Add table
Reference in a new issue