tracer/src/Types/Entity.hs

40 lines
1.5 KiB
Haskell
Raw Normal View History

2018-08-10 08:58:26 +02:00
module Types.Entity where
import Data.Ecstasy
import Linear (V2)
import Types.Direction
import Types.Map
import Types.NPCState
import Types.Animation
import Types.ObjType
2018-09-08 14:05:07 +02:00
import Types.ReachPoint
2018-08-10 08:58:26 +02:00
data Entity f = Entity
{ pos :: Component f 'Field (V2 Double)
, mmpos :: Component f 'Field (V2 Double)
, gridPos :: Component f 'Field (V2 Int)
, vel :: Component f 'Field (V2 Double)
2018-10-13 00:07:19 +02:00
, xyvel :: Component f 'Field (V2 Double)
, mmvel :: Component f 'Field (V2 Double)
, velFact :: Component f 'Field Double
, rot :: Component f 'Field Direction
, obstacle :: Component f 'Field (Boundaries Double)
, player :: Component f 'Unique ()
, npcMoveState :: Component f 'Field NPCMoveState
2018-09-08 14:05:07 +02:00
, npcWorkplace :: Component f 'Field ReachPoint
2018-09-07 23:39:53 +02:00
, npcActionState :: Component f 'Field NPCActionState
, npcStats :: Component f 'Field NPCStats
2019-02-02 21:25:22 +01:00
, npcClearanceLvl :: Component f 'Field Int
, anim :: Component f 'Field AnimState
, objAccess :: Component f 'Field ((V2 Int), Direction)
, objType :: Component f 'Field ObjType
, objState :: Component f 'Field ObjState
, objStateTime :: Component f 'Field Double
2018-09-13 00:51:22 +02:00
, objUsedBy :: Component f 'Field Ent
, objPlayerActivated :: Component f 'Field Bool
2018-08-11 11:51:20 +02:00
, objSolved :: Component f 'Field Bool
2018-08-10 08:58:26 +02:00
}
deriving (Generic)