tracer/src/Types/NPCState.hs

31 lines
545 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
}