def members_step

bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_cleanup.bend:108

import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_cleanup.bend as ExecutionLifetimeScopeCleanup
import Base
import bendvy-ecs-core@0.1.0.3/entity_key.bend as Key
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T
import bendvy-ecs-core@0.1.0.3/relation_cleanup_engine.bend as Engine
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as Permission

108def members_step(~S:Data,~C:Type,~R:Type,~E:Data,~P:Type,~D:Type,~resources:Layout.Layout,~same:{R == Layout.resources(~S,resources) : Type},~selection:Permission.Selection<S,resources>,~dispose:Dispose(~S,~C,~R,~E,~P,~D),+nodes:Nat,+originalEdges:List<&2,T.Edge<S>>,+namespace:U32,+descriptors:List<&2,T.Descriptor<S>>,members:List<&2,Key.Key>,state:State<S,C,R,E,P,D>) -> Engine.Progress<S,State<S,C,R,E,P,D>>:
109  match members:
110    case []:Engine.Complete{state}
111    case key <> +rest:continued(~S,~C,~R,~E,~P,~D,rest,Engine.automatic(~S,~State<S,C,R,E,P,D>,~step_shared(~S,~C,~R,~E,~P,~D,~resources,~same,~selection,~dispose),state,nodes,originalEdges,namespace,key,descriptors),state => members_step(~S,~C,~R,~E,~P,~D,~resources,~same,~selection,~dispose,nodes,originalEdges,namespace,descriptors,rest,state))

Uses (15)

Used by (1)