Safe Haskell | None |
---|
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
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 whereSource
Typeclass for everything that may be converted to a gate.
gatedPath :: (Gatifiable g, MonadDungeon m) => NodeId -> NodeId -> Direction -> g -> m ()Source