{-# OPTIONS_HADDOCK hide #-}
module Graphics.Gloss.Internals.Interface.Simulate.State
( State (..)
, stateInit )
where
-- | Simulation state
data State
= State
{ -- | The iteration number we're up to.
stateIteration :: !Integer
-- | How many simulation setps to take for each second of real time
, stateResolution :: !Int
-- | How many seconds worth of simulation we've done so far
, stateSimTime :: !Float }
-- | Initial control state
stateInit :: Int -> State
stateInit resolution
= State
{ stateIteration = 0
, stateResolution = resolution
, stateSimTime = 0 }