def start

bendvy-ecs-core@0.1.0.3 · execution_relation_linked_despawn.bend:29

import bendvy-ecs-core@0.1.0.3/execution_relation_linked_despawn.bend as ExecutionRelationLinkedDespawn
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/entity_allocator.bend as Allocator
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_command_buffer.bend as Buffer
import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as Permission
import bendvy-ecs-core@0.1.0.3/execution_relation_resource_snapshot.bend as Snapshot
import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_cleanup.bend as Cleanup
import bendvy-ecs-core@0.1.0.3/relation_cleanup_engine.bend as Engine
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

29def start(~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:Cleanup.Dispose(~S,~C,~R,~E,~P,~D),+handle:W.Handle<S>,+views:List<&2,Snapshot.GraphView<S>>,routes:List<&2,Layout.Route>,receipts:List<Buffer.Receipt<S,P,D>>,tick:Tick.Tick,world:W.World<S,C,R,E>) -> W.World<S,C,R,E> & Buffer.Receipt<S,P,D>:
30  match handle world:
31    case W.Handle{+namespace,+key} W.World{worldNamespace,Allocator.Allocator{next,+high,slots,capacity,depth,free,order},columns,resource,events,pending,registrations,nextSystem,clock,lifecycle}:finished(S,C,R,E,P,D,W.Handle{namespace,key},Engine.automatic(~S,~Cleanup.State<S,C,R,E,P,D>,~Cleanup.step_shared(~S,~C,~R,~E,~P,~D,~resources,~same,~selection,~dispose),Cleanup.State{W.World{worldNamespace,Allocator.Allocator{next,high,slots,capacity,depth,free,order},columns,resource,events,pending,registrations,nextSystem,clock,lifecycle},receipts,after(routes),tick,False{}},U32.to_nat(high),Cleanup.edges(S,views),namespace,key,Cleanup.descriptors(S,views)))

Uses (22)

Used by (1)