def admitted
bendvy-ecs-core@0.1.0.4 · restore_apply.bend:54
import bendvy-ecs-core@0.1.0.4/restore_apply.bend as RestoreApply
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/restore_data.bend as R
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/snapshot_data.bend as Snapshot
54def admitted(~S:Data,~C:Type,~Resources:Type,~E:Data,~State:Type,~Custom:Data,~release:State -> State,~clear:C -> W.Handle<S> -> C & List<&2,R.Change<S>>,~insert:C -> Resources -> State -> List<&2,R.Binding<S>> -> Tick.Tick -> (C & Resources) & State,~emit:R.Change<S> -> E,state:State,+input:Snapshot.Snapshot,+floor:U32,observed:W.World<S,C,Resources,E> & Bool) -> ApplyResult<S,C,Resources,E,State,Custom>:
55 match observed:
56 case (world,False{}):Refused{world,release(state),input,R.Capacity{floor}}
57 case (world,True{}):advanced(~S,~C,~Resources,~E,~State,~Custom,~clear,~insert,~emit,state,input,floor,W.clock(~S,~C,~Resources,~E,W.events_replace(~S,~C,~Resources,~E,world,[])))