def stamped_replaced

bendvy-ecs-core@0.1.0.4 · component.bend:305

import bendvy-ecs-core@0.1.0.4/component.bend as Component
import Base
import lifecycle.bend as L
import column.bend as Col
import world.bend as W

305def stamped_replaced(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column<S,C>,~put: Rest -> Col.Column<S,C> -> Store,~project: C -> C & V,observed:W.World<S,Store,R,E> & (Swap<C> & L.Stamp)) -> Replacement<W.World<S,Store,R,E>,C> & L.Stamp:
306  match observed:
307    case (world,(Swapped{previous},stamp)): (Replaced{world,previous},stamp)
308    case (world,(SwapRejected{incoming},stamp)): (ReplaceRejected{world,incoming,W.CapacityExceeded{}},stamp)

Uses (8)

Used by (1)