tracer/src/Types/StateData.hs

38 lines
779 B
Haskell
Raw Normal View History

module Types.StateData where
import Data.Matrix
import Data.Map
2019-10-20 08:53:53 +00:00
import Data.Vector as V
2018-10-12 12:26:06 +00:00
import NanoVG hiding (V2)
import Linear (V2)
import Types.ReachPoint
import Types.Map
import Types.ImgId
import Types.Animation
2018-10-12 12:26:06 +00:00
import Types.Direction
data StateData
2018-06-07 22:29:46 +00:00
= None
| LoadData
{ loadAssetImages :: Map ImgId Image
, loadAssetAnims :: Map AnimId Animation
2018-10-08 21:36:52 +00:00
, loadAssetIcons :: Map IconId Image
}
2018-06-25 21:59:12 +00:00
| MainData
2018-06-25 21:45:53 +00:00
{ mapMat :: Matrix TileState
, imgMat :: Matrix (Maybe ImgId)
2019-10-20 08:53:53 +00:00
, reachPoints :: V.Vector ReachPoint
2018-06-28 19:07:58 +00:00
, mmImgMat :: Matrix (Maybe ImgId)
2019-10-20 08:53:53 +00:00
, roomGraph :: V.Vector Graph
}
2018-10-12 12:26:06 +00:00
| MenuData
2018-10-13 18:12:10 +00:00
{ velocity :: V2 Double
, rotation :: Direction
, activate :: Double
, switchMap :: Double
2018-10-12 12:26:06 +00:00
}
2018-06-07 22:29:46 +00:00
deriving (Eq)