35 lines
712 B
Haskell
35 lines
712 B
Haskell
module Types.StateData where
|
|
|
|
import Data.Matrix
|
|
import Data.Map
|
|
|
|
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 :: [ReachPoint]
|
|
, mmImgMat :: Matrix (Maybe ImgId)
|
|
}
|
|
| MenuData
|
|
{ velocity :: V2 Double
|
|
, rotation :: Direction
|
|
, activate :: Double
|
|
, switchMap :: Double
|
|
}
|
|
deriving (Eq)
|