Safe Haskell | None |
---|---|
Language | Haskell2010 |
a utility module
Synopsis
- firstM :: Functor f => (a -> f c) -> (a, b) -> f (c, b)
- replicateMChain :: Monad m => Int -> (a -> m a) -> a -> m a
- maybeToEither :: a -> Maybe b -> Either a b
- duplicates :: Ord a => [a] -> [a]
- splitBy :: Eq a => a -> [a] -> [[a]]
- supplyBoth :: (a -> b -> c) -> (b -> a) -> b -> c
- (.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
- scalePoint :: Float -> Size -> V2 CInt
- absPoint :: IPoint -> IPoint
- addPoint :: (NFData a, Num a) => Point a -> Point a -> Point a
- mulPoint :: (NFData a, Num a) => Point a -> Point a -> Point a
- updateList :: (a -> [a]) -> DList a -> DList a
- updateListWith :: NFData b => b -> (b -> b -> b) -> (a -> ([a], b)) -> DList a -> (DList a, b)
- toRect :: IPoint -> Size -> Rectangle CInt
- data HasPosSize = HasPosSize {}
- class HasPos s a | s -> a where
- class HasSize s a | s -> a where
- data Hitbox = Hitbox {
- _alignment :: !IPoint
- _size :: !Size
- class HasAlignment s a | s -> a where
- data HasHitBox = HasHitBox {}
- class HasHitbox s a | s -> a where
- circ' :: HasPosSize
- rec' :: HasHitBox
- isTouchingCircleRect :: (HasPos circle IPoint, HasSize circle Size, HasPos rect IPoint, HasHitbox rect Hitbox) => circle -> rect -> Maybe (circle, rect)
- isTouchingCircleCircle :: (HasSize a Size, HasPos a IPoint, HasSize b Size, HasPos b IPoint) => a -> b -> Maybe (a, b)
- fixPos :: (HasSize a Size, HasPos a IPoint) => Size -> a -> a
- isInWindow :: Size -> IPoint -> Size -> Bool
- isInSquare :: IPoint -> Size -> IPoint -> Size -> Bool
- isAround :: IPoint -> IPoint -> Size -> Bool
- dirToPlace :: IPoint -> IPoint -> IPoint
- type Camera = IPoint -> IPoint
- mkAngles :: Int -> Int -> [Float]
- renderText :: Renderer -> Font -> IPoint -> Text -> IO ()
- shade :: Renderer -> Camera -> Word8 -> IO ()
- data Stack a = Stack !a ![a]
- head :: Stack a -> a
- push :: a -> Stack a -> Stack a
- init :: a -> Stack a
- pop :: Stack a -> (a, Maybe (Stack a))
- replace :: a -> Stack a -> Stack a
Documentation
replicateMChain :: Monad m => Int -> (a -> m a) -> a -> m a Source #
replicate operation and chain it
maybeToEither :: a -> Maybe b -> Either a b Source #
if Maybe b is nothing, replace it with Left a. otherwise: Right b
duplicates :: Ord a => [a] -> [a] Source #
returns the duplicates of a list
supplyBoth :: (a -> b -> c) -> (b -> a) -> b -> c Source #
(.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d Source #
Compose with an input function that takes two arguments
updateList :: (a -> [a]) -> DList a -> DList a Source #
updateListWith :: NFData b => b -> (b -> b -> b) -> (a -> ([a], b)) -> DList a -> (DList a, b) Source #
data HasPosSize Source #
Instances
Show HasPosSize Source # | |
Defined in Play.Engine.Utils showsPrec :: Int -> HasPosSize -> ShowS # show :: HasPosSize -> String # showList :: [HasPosSize] -> ShowS # | |
HasSize HasPosSize Size Source # | |
Defined in Play.Engine.Utils | |
HasPos HasPosSize IPoint Source # | |
Defined in Play.Engine.Utils |
Hitbox | |
|
class HasAlignment s a | s -> a where Source #
circ' :: HasPosSize Source #
isTouchingCircleRect :: (HasPos circle IPoint, HasSize circle Size, HasPos rect IPoint, HasHitbox rect Hitbox) => circle -> rect -> Maybe (circle, rect) Source #