30 lines
541 B
Haskell
30 lines
541 B
Haskell
module Types.NPCState where
|
|
|
|
import Control.Concurrent.MVar (MVar)
|
|
import Linear (V2)
|
|
|
|
data NPCMoveState
|
|
= NPCWalking
|
|
{ npcWalkPath :: [V2 Int]
|
|
}
|
|
| NPCStanding
|
|
{ npcStandTime :: Double
|
|
, npcFuturePath :: MVar [V2 Int]
|
|
}
|
|
|
|
data NPCActionState
|
|
= ASWork
|
|
| ASToilet
|
|
| ASDrink
|
|
| ASEat
|
|
| ASRandWalk
|
|
deriving (Eq)
|
|
|
|
data NPCStats = NPCStats
|
|
{ statAttention :: Double
|
|
, statBladder :: Double
|
|
, statThirst :: Double
|
|
, statHunger :: Double
|
|
, statFood :: Double
|
|
, statDrink :: Double
|
|
}
|