2017-03-05 15:39:37 +00:00
|
|
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
|
|
|
|
|
|
module Affection.StateMachine where
|
|
|
|
|
|
|
|
import Affection.Types
|
|
|
|
|
|
|
|
import qualified SDL
|
|
|
|
|
|
|
|
class StateMachine a us where
|
2017-11-27 22:30:11 +00:00
|
|
|
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 ()
|