26 lines
523 B
Haskell
26 lines
523 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
|
|
}
|
|
deriving (Eq,Show)
|
|
data Carriage
|
|
= Walking { _stepCycle :: Int, _stepToAdd :: Int }
|
|
| Standing
|
|
| Floating
|
|
| Flying
|
|
| Boosting Point2
|
|
deriving (Eq,Show)
|
|
data Posture = Aiming | AtEase
|
|
deriving (Eq,Ord,Show)
|
|
|
|
makeLenses ''Stance
|
|
makeLenses ''Carriage
|
|
makeLenses ''Posture
|