module Affection.Class where

import qualified SDL

import Affection.Types as A

class Affectionate a where

  loadState    :: IO a

  preLoop      :: a -> Affection ()

  handleEvents :: a -> [SDL.EventPayload] -> Affection ()

  update       :: a -> Double -> Affection ()

  draw         :: a -> Affection ()

  cleanUp      :: a -> IO ()

  hasNextStep  :: a -> Affection Bool
