imj-game-hamazed-0.1.0.2: src/Imj/Game/Hamazed/Types.hs
{-# OPTIONS_HADDOCK hide #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Imj.Game.Hamazed.Types
( GameState(..)
-- * Reexports
, module Imj.Game.Hamazed.Level.Types
, module Imj.Game.Hamazed.World.Types
, UIAnimation
) where
import Imj.Prelude
import Imj.Game.Hamazed.Level.Types
import Imj.Game.Hamazed.Loop.Timing
import Imj.Game.Hamazed.World.Types
import Imj.Graphics.UI.Animation
data GameState = GameState {
_gameStateNextMotionStep :: !(Maybe KeyTime)
-- ^ When the next 'World' motion update should happen,
, _gameStatePreviousWorld :: !World
-- ^ The previous 'World'
, _gameStateCurrentWorld :: !World
-- ^ The current 'World'
, _gameStateShotNumbers :: ![Int]
-- ^ Which 'Number's were shot
, _gameStateLevel :: !Level
-- ^ The current 'Level'
, _gameStateUIAnimation :: !UIAnimation
-- ^ Inter-level animation.
}