Files
loop/src/Dodge/Data/ArcStep.hs
T
2022-08-21 22:41:19 +01:00

29 lines
649 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.ArcStep where
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Dodge.Data.CrWlID
import Geometry.Data
data ArcStep = ArcStep
{ _asPos :: Point2
, _asDir :: Float
, _asObject :: CrWlID --Maybe (Either Creature Wall)
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data NextArcStep
= EndArc
| DefaultArcStep
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ArcStep
deriveJSON defaultOptions ''ArcStep
deriveJSON defaultOptions ''NextArcStep