tracer/src/Types/StateData.hs
2019-10-20 10:53:53 +02:00

38 lines
779 B
Haskell

module Types.StateData where
import Data.Matrix
import Data.Map
import Data.Vector as V
import NanoVG hiding (V2)
import Linear (V2)
import Types.ReachPoint
import Types.Map
import Types.ImgId
import Types.Animation
import Types.Direction
data StateData
= None
| LoadData
{ loadAssetImages :: Map ImgId Image
, loadAssetAnims :: Map AnimId Animation
, loadAssetIcons :: Map IconId Image
}
| MainData
{ mapMat :: Matrix TileState
, imgMat :: Matrix (Maybe ImgId)
, reachPoints :: V.Vector ReachPoint
, mmImgMat :: Matrix (Maybe ImgId)
, roomGraph :: V.Vector Graph
}
| MenuData
{ velocity :: V2 Double
, rotation :: Direction
, activate :: Double
, switchMap :: Double
}
deriving (Eq)