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
|
|
|
|
smLoad :: a -> Affection us ()
|
|
|
|
smUpdate :: a -> Double -> Affection us ()
|
2017-12-16 18:33:43 +00:00
|
|
|
smEvent :: a -> [SDL.EventPayload] -> Affection us ()
|
2017-03-05 15:39:37 +00:00
|
|
|
smDraw :: a -> Affection us ()
|
|
|
|
smClean :: a -> Affection us ()
|