def namespaced

bendvy-ecs-core@0.1.0.3 · execution_lifetime_scope_resource_dispatch.bend:42

import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_resource_dispatch.bend as ExecutionLifetimeScopeResourceDispatch
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_store.bend as Store
import bendvy-ecs-core@0.1.0.3/entity_allocator.bend as Allocator
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

42def namespaced(~S:Data,~resources:Layout.Layout,~route:Layout.Route,~payload:{Layout.payload(resources,route) == Store.Store<S> : Type},~view:{Layout.view(resources,route) == Store.View<S> : Data},same:Bool,namespace:U32,allocator:Allocator.Allocator,owners:Layout.resources(~S,resources),request:Store.Request<S>,tick:Tick.Tick) -> Allocator.Allocator & (Layout.resources(~S,resources) & Outcome<S>):
43  match same:
44    case False{}:(allocator,(owners,Completed{Store.Refused{request}}))
45    case True{}:taken(~S,~resources,~route,~payload,~view,namespace,allocator,request,tick,Layout.resource_take(~S,resources,route,owners))

Uses (18)

Used by (1)