aztecs-0.14.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Aztecs.ECS.Scheduler

Documentation

class Scheduler (m :: k) (s :: k1) where Source #

Associated Types

type SchedulerInput (m :: k) (s :: k1) :: [Type] Source #

type SchedulerOutput (m :: k) (s :: k1) Source #

Instances

Instances details
(AllSystems m systems, BuildSystemGraph systems ~ graph, TopologicalSort graph ~ levels, ScheduleLevels m levels ~ output, ScheduleLevelsBuilder m levels systems) => Scheduler (m :: Type -> Type) (HSet systems :: Type) Source # 
Instance details

Defined in Aztecs.ECS.Scheduler.Internal

Associated Types

type SchedulerInput (m :: Type -> Type) (HSet systems :: Type) 
Instance details

Defined in Aztecs.ECS.Scheduler.Internal

type SchedulerInput (m :: Type -> Type) (HSet systems :: Type) = systems
type SchedulerOutput (m :: Type -> Type) (HSet systems :: Type) 
Instance details

Defined in Aztecs.ECS.Scheduler.Internal

Methods

buildSchedule :: HSet (SchedulerInput m (HSet systems)) -> SchedulerOutput m (HSet systems) Source #

data Run (constraints :: [Type]) sys where Source #

Constructors

Run :: forall sys (constraints :: [Type]). sys -> Run constraints sys 

Instances

Instances details
System m sys => System m (Run constraints sys) Source # 
Instance details

Defined in Aztecs.ECS.Schedule.Internal

Associated Types

type SystemIn m (Run constraints sys) 
Instance details

Defined in Aztecs.ECS.Schedule.Internal

type SystemIn m (Run constraints sys) = SystemIn m sys

Methods

runSystem :: Run constraints sys -> SystemIn m (Run constraints sys) -> m () Source #

RemainingAfterExtract sys (Run constraints sys ': rest) ~ rest => ExtractFromHSet sys (Run constraints sys ': rest) Source # 
Instance details

Defined in Aztecs.ECS.Scheduler.Internal

Methods

extractFromHSet :: HSet (Run constraints sys ': rest) -> (sys, HSet (RemainingAfterExtract sys (Run constraints sys ': rest))) Source #

Show sys => Show (Run constraints sys) Source # 
Instance details

Defined in Aztecs.ECS.Schedule.Internal

Methods

showsPrec :: Int -> Run constraints sys -> ShowS #

show :: Run constraints sys -> String #

showList :: [Run constraints sys] -> ShowS #

(System m (Run constraints sys), AllSystems m rest) => AllSystems (m :: Type -> Type) (Run constraints sys ': rest :: [Type]) Source # 
Instance details

Defined in Aztecs.ECS.Schedule.Internal

type SystemIn m (Run constraints sys) Source # 
Instance details

Defined in Aztecs.ECS.Schedule.Internal

type SystemIn m (Run constraints sys) = SystemIn m sys

data Before sys Source #

data After sys Source #