module Mischief.ECS.App.SystemDef where import Data.Default import GHC.Generics import Mischief.ECS.Components import Mischief.ECS.World 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 Set DefaultComponentType Hooks SystemTick IsExclusive (RelExclusivity SystemTick) (Typeable SystemTick, IsExclusive (RelExclusivity SystemTick)) => Set DefaultComponentType -> Hooks SystemTick -> Component SystemTick forall c. (Typeable c, IsExclusive (RelExclusivity c)) => Set DefaultComponentType -> Hooks c -> Component c $crequired :: Set DefaultComponentType required :: Set DefaultComponentType $chooks :: Hooks SystemTick hooks :: Hooks 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 Set DefaultComponentType Hooks LastSystemTick IsExclusive (RelExclusivity LastSystemTick) (Typeable LastSystemTick, IsExclusive (RelExclusivity LastSystemTick)) => Set DefaultComponentType -> Hooks LastSystemTick -> Component LastSystemTick forall c. (Typeable c, IsExclusive (RelExclusivity c)) => Set DefaultComponentType -> Hooks c -> Component c $crequired :: Set DefaultComponentType required :: Set DefaultComponentType $chooks :: Hooks LastSystemTick hooks :: Hooks LastSystemTick Component, LastSystemTick LastSystemTick -> Default LastSystemTick forall a. a -> Default a $cdef :: LastSystemTick def :: LastSystemTick Default)