License | BSD-3-Clause |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
Swarm.Game.Terrain
Description
Terrain types and properties.
Synopsis
- data TerrainType
- data TerrainObj = TerrainObj {}
- data TerrainMap = TerrainMap {}
- blankTerrainIndex :: Int
- getTerrainDefaultPaletteChar :: TerrainType -> Char
- getTerrainWord :: TerrainType -> Text
- terrainFromText :: Text -> TerrainType
- loadTerrain :: forall (sig :: (Type -> Type) -> Type -> Type) m. (Has (Throw SystemFailure) sig m, Has (Lift IO) sig m) => m TerrainMap
- mkTerrainMap :: [TerrainObj] -> TerrainMap
- validateTerrainAttrRefs :: forall (sig :: (Type -> Type) -> Type -> Type) m. Has (Throw LoadingFailure) sig m => Set WorldAttr -> [TerrainItem] -> m [TerrainObj]
Documentation
data TerrainType Source #
Constructors
BlankT | |
TerrainType Text |
Instances
data TerrainObj Source #
Constructors
TerrainObj | |
Fields |
Instances
Show TerrainObj Source # | |
Defined in Swarm.Game.Terrain Methods showsPrec :: Int -> TerrainObj -> ShowS # show :: TerrainObj -> String # showList :: [TerrainObj] -> ShowS # |
data TerrainMap Source #
Each terrain type shall have a unique integral index. The indices should be consecutive by parse order.
Constructors
TerrainMap | |
Fields
|
Instances
Monoid TerrainMap Source # | |
Defined in Swarm.Game.Terrain Methods mempty :: TerrainMap # mappend :: TerrainMap -> TerrainMap -> TerrainMap # mconcat :: [TerrainMap] -> TerrainMap # | |
Semigroup TerrainMap Source # | |
Defined in Swarm.Game.Terrain Methods (<>) :: TerrainMap -> TerrainMap -> TerrainMap # sconcat :: NonEmpty TerrainMap -> TerrainMap # stimes :: Integral b => b -> TerrainMap -> TerrainMap # | |
Show TerrainMap Source # | |
Defined in Swarm.Game.Terrain Methods showsPrec :: Int -> TerrainMap -> ShowS # show :: TerrainMap -> String # showList :: [TerrainMap] -> ShowS # |
getTerrainWord :: TerrainType -> Text Source #
terrainFromText :: Text -> TerrainType Source #
loadTerrain :: forall (sig :: (Type -> Type) -> Type -> Type) m. (Has (Throw SystemFailure) sig m, Has (Lift IO) sig m) => m TerrainMap Source #
Load terrain from a data file called terrains.yaml
, producing
either an TerrainMap
or a parse error.
mkTerrainMap :: [TerrainObj] -> TerrainMap Source #