def run

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

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_context.bend as Context
import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_resource_dispatch.bend as Dispatch
import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_store.bend as Store
import bendvy-ecs-core@0.1.0.3/execution_relation_world_publication.bend as Publication
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

16def run(~S:Data,~C:Type,~R:Type,~E:Data,~resources:Layout.Layout,~same:{R == Layout.resources(~S,resources) : Type},~program:Dispatch.Program(~S,~resources),context:Context.Context<S,R,resources,same>,route:Layout.Route,request:Store.Request<S>,world:W.World<S,C,R,E>,tick:Tick.Tick) -> W.World<S,C,R,E> & Dispatch.Outcome<S>:
17  match context world:
18    case Context.Context{expected} W.World{+namespace,allocator,columns,owners,events,pending,registrations,nextSystem,clock,lifecycle}:restored(S,C,R,E,Layout.resources(~S,resources),same,Publication.Frame{namespace,columns,events,pending,registrations,nextSystem,clock,lifecycle},program(expected,namespace,allocator,Layout.checked_owner(R,Layout.resources(~S,resources),same,owners),route,request,tick))

Uses (13)

Used by (1)