def initialize_resources
bendvy-ecs-core@0.1.0.3 · execution_composer_layout.bend:294
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as ExecutionComposerLayout
import Base
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as Lifecycle
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick
294
295def initialize_resources(~S:Data,layout:Layout,+tick:Tick.Tick,owners:resources(~S,layout)) -> resources(~S,layout):
296 match layout owners:
297 case EmptyLayout{} owner:owner
298 case LayoutLeaf{P,V,refresh,key,accessPolicy} ResourceSlot{Viewed{owner,_},_}:ResourceSlot{initialized(P,V,refresh(owner)),Lifecycle.Stamp{Some{tick},Some{tick}}}
299 case ClassifiedLayoutLeaf{P,V,refresh,key,_,accessPolicy} ResourceSlot{Viewed{owner,_},_}:ResourceSlot{initialized(P,V,refresh(owner)),Lifecycle.Stamp{Some{tick},Some{tick}}}
300 case LayoutPair{left,right} Product.Owner{l,r}:Product.Owner{initialize_resources(~S,left,tick,l),initialize_resources(~S,right,tick,r)}