Files
loop/src/Dodge/Creature/Stance/Data.hs
T

40 lines
755 B
Haskell

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Creature.Stance.Data
where
import Geometry.Data
import Control.Lens
data Stance = Stance
{_carriage :: Carriage
,_posture :: Posture
,_strideLength :: Int
}
deriving (Eq,Ord,Show,Read)
data Carriage
= Walking
{ _strideAmount :: Int
, _currentFoot :: FootForward
}
| Standing
| Floating
| Flying
| Boosting Point2
deriving (Eq,Ord,Show,Read)
data FootForward
= LeftForward
| RightForward
| WasLeftForward
| WasRightForward
deriving (Eq,Ord,Show,Read)
data Posture = Aiming
| AtEase
deriving (Eq,Ord,Show,Read)
makeLenses ''Stance
makeLenses ''Carriage
makeLenses ''Posture