spice-0.3.2.4: src/FRP/Spice/Game.hs
{-|
This module provides the API which people must use to define a game within
the scope of Spice.
-}
module FRP.Spice.Game where
-------------------
-- Local Imports --
import FRP.Spice.Graphics.Scene
import FRP.Spice.Input
----------
-- Code --
{-|
A synonym to make the update function more self-documenting.
-}
type DeltaTime = Float
{-|
The class which is to be used in the @'FRP.Spice.Engine.startEngine'@
function. @'update'@ provides the API to update on every tick (purely), an
@'render'@ provides the API to render every frame.
-}
class Game a where
update :: DeltaTime -> Input -> a -> a
render :: a -> Scene