module Mischief.ECS.App.SystemDef where import Data.Default import GHC.Generics import Mischief.ECS.Components newtype SystemTick = SystemTick {SystemTick -> Tick inner :: Tick} deriving stock ((forall x. SystemTick -> Rep SystemTick x) -> (forall x. Rep SystemTick x -> SystemTick) -> Generic SystemTick forall x. Rep SystemTick x -> SystemTick forall x. SystemTick -> Rep SystemTick x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. SystemTick -> Rep SystemTick x from :: forall x. SystemTick -> Rep SystemTick x $cto :: forall x. Rep SystemTick x -> SystemTick to :: forall x. Rep SystemTick x -> SystemTick Generic) deriving anyclass (Typeable SystemTick [HookRel SystemTick] [Hook SystemTick] Set DefaultComponentType IsExclusive (IsExclusiveRel SystemTick) (Typeable SystemTick, IsExclusive (IsExclusiveRel SystemTick)) => Set DefaultComponentType -> [Hook SystemTick] -> [Hook SystemTick] -> [Hook SystemTick] -> [HookRel SystemTick] -> [HookRel SystemTick] -> [HookRel SystemTick] -> Component SystemTick forall c. (Typeable c, IsExclusive (IsExclusiveRel c)) => Set DefaultComponentType -> [Hook c] -> [Hook c] -> [Hook c] -> [HookRel c] -> [HookRel c] -> [HookRel c] -> Component c $crequired :: Set DefaultComponentType required :: Set DefaultComponentType $conAdd :: [Hook SystemTick] onAdd :: [Hook SystemTick] $conSet :: [Hook SystemTick] onSet :: [Hook SystemTick] $conRemove :: [Hook SystemTick] onRemove :: [Hook SystemTick] $conAddRel :: [HookRel SystemTick] onAddRel :: [HookRel SystemTick] $conSetRel :: [HookRel SystemTick] onSetRel :: [HookRel SystemTick] $conRemoveRel :: [HookRel SystemTick] onRemoveRel :: [HookRel SystemTick] Component, SystemTick SystemTick -> Default SystemTick forall a. a -> Default a $cdef :: SystemTick def :: SystemTick Default) newtype LastSystemTick = LastSystemTick {LastSystemTick -> Tick inner :: Tick} deriving stock ((forall x. LastSystemTick -> Rep LastSystemTick x) -> (forall x. Rep LastSystemTick x -> LastSystemTick) -> Generic LastSystemTick forall x. Rep LastSystemTick x -> LastSystemTick forall x. LastSystemTick -> Rep LastSystemTick x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. LastSystemTick -> Rep LastSystemTick x from :: forall x. LastSystemTick -> Rep LastSystemTick x $cto :: forall x. Rep LastSystemTick x -> LastSystemTick to :: forall x. Rep LastSystemTick x -> LastSystemTick Generic) deriving anyclass (Typeable LastSystemTick [HookRel LastSystemTick] [Hook LastSystemTick] Set DefaultComponentType IsExclusive (IsExclusiveRel LastSystemTick) (Typeable LastSystemTick, IsExclusive (IsExclusiveRel LastSystemTick)) => Set DefaultComponentType -> [Hook LastSystemTick] -> [Hook LastSystemTick] -> [Hook LastSystemTick] -> [HookRel LastSystemTick] -> [HookRel LastSystemTick] -> [HookRel LastSystemTick] -> Component LastSystemTick forall c. (Typeable c, IsExclusive (IsExclusiveRel c)) => Set DefaultComponentType -> [Hook c] -> [Hook c] -> [Hook c] -> [HookRel c] -> [HookRel c] -> [HookRel c] -> Component c $crequired :: Set DefaultComponentType required :: Set DefaultComponentType $conAdd :: [Hook LastSystemTick] onAdd :: [Hook LastSystemTick] $conSet :: [Hook LastSystemTick] onSet :: [Hook LastSystemTick] $conRemove :: [Hook LastSystemTick] onRemove :: [Hook LastSystemTick] $conAddRel :: [HookRel LastSystemTick] onAddRel :: [HookRel LastSystemTick] $conSetRel :: [HookRel LastSystemTick] onSetRel :: [HookRel LastSystemTick] $conRemoveRel :: [HookRel LastSystemTick] onRemoveRel :: [HookRel LastSystemTick] Component, LastSystemTick LastSystemTick -> Default LastSystemTick forall a. a -> Default a $cdef :: LastSystemTick def :: LastSystemTick Default)