def replace

bendvy-ecs-core@0.1.0.4 · restored_row.bend:44

import bendvy-ecs-core@0.1.0.4/restored_row.bend as RestoredRow
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick

44# Caller validates entity/clock first and journals returned previous+stamp now.
45def replace(~S:Data,~C:Type,cell:Cell<S,C>,incoming:C,+tick:Tick.Tick) -> Replacement<S,C>:
46  match cell:
47    case Taken{+id,owner,+stamp,_,cold}: replacement_present(~S,~C,id,stamp,cold,incoming,tick,owner_present(~C,owner))
48    case Untaken{column}: Refused{Untaken{column},incoming}

Uses (5)

Used by (1)