def progressed

bendvy-ecs-core@0.1.0.4 · restore_apply.bend:41

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

41def progressed(~S:Data,~C:Type,~Resources:Type,~E:Data,~State:Type,~Custom:Data,~insert:C -> Resources -> State -> List<&2,R.Binding<S>> -> Tick.Tick -> (C & Resources) & State,~emit:R.Change<S> -> E,state:State,+input:Snapshot.Snapshot,observed:W.World<S,C,Resources,E> & Bool) -> ApplyResult<S,C,Resources,E,State,Custom>:
42  match input observed:
43    case Snapshot.Snapshot{version,floor,entities,resources},(world,False{}):Refused{world,state,Snapshot.Snapshot{version,floor,entities,resources},R.Capacity{floor}}
44    case Snapshot.Snapshot{+version,+floor,+entities,+resources},(world,True{}):install(~S,~C,~Resources,~E,~State,~Custom,~insert,state,Snapshot.Snapshot{version,floor,entities,resources},spawn(~S,~C,~Resources,~E,~emit,entities,world,[]))

Uses (13)

Used by (1)