Safe Haskell | None |
---|---|
Language | Haskell2010 |
Some utility functions for constructing paths between rooms.
- unipath :: MonadDungeon m => NodeId -> NodeId -> Direction -> m ()
- bipath :: MonadDungeon m => NodeId -> NodeId -> Direction -> m ()
- guardedPath :: MonadDungeon m => NodeId -> NodeId -> Direction -> Prerequisite -> m ()
- newtype Gate = Gate {}
- class Gatifiable g where
- gatedPath :: (Gatifiable g, MonadDungeon m) => NodeId -> NodeId -> Direction -> g -> m ()
Documentation
unipath :: MonadDungeon m => NodeId -> NodeId -> Direction -> m () Source
A one-way path from f
to t
.
bipath :: MonadDungeon m => NodeId -> NodeId -> Direction -> m () Source
A mutual path. The specified direction is for the path from f
to t
, the opposite one is chosen for t
to f
.
guardedPath :: MonadDungeon m => NodeId -> NodeId -> Direction -> Prerequisite -> m () Source
A unipath that is guarded by a prerequisite.
A composable wrapper for a path state
class Gatifiable g where Source
Typeclass for everything that may be converted to a gate.
gatedPath :: (Gatifiable g, MonadDungeon m) => NodeId -> NodeId -> Direction -> g -> m () Source