def rebuilt

bendvy-ecs-core@0.1.0.4 · event_notice_runtime.bend:82

import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as EventNoticeRuntime
import Base
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Notice

82def rebuilt(~S:Data,~P:Data,notices:List<&2,Notice.Notice<S,P>>,slots:List<&2,List<&2,P>>) -> List<&2,Notice.Notice<S,P>>:
83  match notices slots:
84    case Nil{} _:[]
85    case Con{Notice.Original{_},rest} Nil{}:rebuilt(~S,~P,rest,[])
86    case Con{Notice.Original{_},rest} Con{head,tail}:List.append(&2,Notice.Notice<S,P>,original_notices(~S,~P,head),rebuilt(~S,~P,rest,tail))
87    case Con{Notice.RelationFailed{failure},rest} slots:Notice.RelationFailed{failure} <> rebuilt(~S,~P,rest,slots)
88    case Con{Notice.ComponentRemoved{id},rest} slots:Notice.ComponentRemoved{id} <> rebuilt(~S,~P,rest,slots)
89    case Con{Notice.CleanupPaused{frames},rest} slots:Notice.CleanupPaused{frames} <> rebuilt(~S,~P,rest,slots)

Uses (4)

Used by (1)