def gather

bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_world_access.bend:24

import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_world_access.bend as ExecutionLifetimeScopeWorldAccess
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_relation_resource_snapshot.bend as Snapshot
import bendvy-ecs-core@0.1.0.3/execution_relation_world_publication.bend as Publication

24def gather(~S:Data,~C:Type,~R:Type,~E:Data,~resources:Layout.Layout,~same:{R == Layout.resources(~S,resources) : Type},~program:Snapshot.Program(~S,~resources),world:W.World<S,C,R,E>) -> W.World<S,C,R,E> & List<&2,Snapshot.GraphView<S>>:
25  match world:
26    case W.World{namespace,allocator,columns,owners,events,pending,registrations,nextSystem,clock,lifecycle}:observed(S,C,R,E,Layout.resources(~S,resources),same,allocator,Publication.Frame{namespace,columns,events,pending,registrations,nextSystem,clock,lifecycle},program(Layout.checked_owner(R,Layout.resources(~S,resources),same,owners)))

Uses (10)

Used by (1)