packages feed

mischief-ecs-0.1.0.0: src/Mischief/ECS/Components/HooksDef.hs

module Mischief.ECS.Components.HooksDef where

import Data.Data
import Mischief.ECS.EventDef

data ErasedHook c where
  ErasedHook :: forall e c m. (Event (e c), Typeable m) => (e c -> m ()) -> ErasedHook c

newtype Hooks c = Hooks [ErasedHook c] deriving newtype (Semigroup)