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
|
package atlas
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
|
|
||||||
"github.com/mdiluz/rove/pkg/maths"
|
"github.com/mdiluz/rove/pkg/maths"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -21,6 +23,23 @@ const (
|
||||||
TileSand = Tile(GlyphSand)
|
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
|
// Atlas represents a 2D world atlas of tiles and objects
|
||||||
type Atlas interface {
|
type Atlas interface {
|
||||||
// SetTile sets a location on the Atlas to a type of tile
|
// SetTile sets a location on the Atlas to a type of tile
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package atlas
|
package atlas
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
// ObjectType represents an object type
|
// ObjectType represents an object type
|
||||||
type ObjectType byte
|
type ObjectType byte
|
||||||
|
|
||||||
|
@ -18,6 +20,23 @@ const (
|
||||||
ObjectLargeRock = ObjectType(GlyphLargeRock)
|
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
|
// Object represents an object in the world
|
||||||
type Object struct {
|
type Object struct {
|
||||||
// The type of the object
|
// The type of the object
|
||||||
|
|
Loading…
Add table
Reference in a new issue