def count_loop

bendvy-ecs-core@0.1.0.4 · ordinary_binding_provision.bend:29

import bendvy-ecs-core@0.1.0.4/ordinary_binding_provision.bend as OrdinaryBindingProvision
import Base
import entity_key.bend as Key
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/world.bend as W

29def count_loop(~S:Data,~C:Type,~Rest:Type,~P:Type,~take:C -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> C,handles:List<&2,W.Handle<S>>,store:C,total:U32) -> C & U32:
30  match handles:
31    case []:(store,total)
32    case W.Handle{_,Key.EntityKey{id,_}} <> rest:counted(~C,total,store=>total=>count_loop(~S,~C,~Rest,~P,~take,~put,rest,store,total),has(~S,~C,~Rest,~P,~take,~put,store,id))

Uses (9)

Used by (1)