def system

bendvy-ecs-core@0.1.0.4 · ordinary_condition_declaration.bend:26

import bendvy-ecs-core@0.1.0.4/ordinary_condition_declaration.bend as OrdinaryConditionDeclaration
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/schedule.bend as Sch
import bendvy-ecs-core@0.1.0.4/schedule_provision.bend as SP

26# Build one system placement and its condition slot from the same leaf.
27# identify maps authored Ids to a registration ID; requirements are explicit
28# plan metadata. Does not invoke predicate or system body during construction.
29def system(~S:Data,~C:Type,~R:Type,~E:Data,~Ids:Data,~predicate:W.World<S,C,R,E> -> W.World<S,C,R,E> & Bool,~identify:Ids -> U32,requirements:List<&2,SP.Requirement<S>>,leaf:Declaration<S,C,R,E,predicate>) -> Program<S,C,R,E,Ids>:
30  Program{1n,ids => SP.Entry{Sch.System{identify(ids),0},requirements},[leaf_name(~S,~C,~R,~E,~predicate,leaf)],world => slot => predicate(world)}

Uses (11)

Used by (0)

No other definition uses this definition.