{-# LANGUAGE MultiParamTypeClasses #-} module Affection.StateMachine where import Affection.Types import qualified SDL class StateMachine a us where smLoad :: a -> Affection us msg () smUpdate :: a -> Double -> Affection us msg () smEvent :: a -> SDL.EventPayload -> Affection us msg () smDraw :: a -> Affection us msg () smClean :: a -> Affection us msg ()