{-# 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