def owner_change
bendvy-ecs-core@0.1.0.3 · world.bend:183
import bendvy-ecs-core@0.1.0.3/world.bend as World
import Base
import entity_key.bend as K
import entity_allocator.bend as A
183def owner_change(~S:Data,~C:Type,~R:Type,~E:Data,release:Bool,+key:K.Key,checked:World<S,C,R,E> & Bool) -> World<S,C,R,E>:
184 match release checked:
185 case _, (world,False{}):world
186 case False{}, (World{namespace,allocator,store,resource,events,pending,registrations,nextSystemId,clock,lifecycle},True{}):World{namespace,A.abandon(allocator,key),store,resource,events,pending,registrations,nextSystemId,clock,lifecycle}
187 case True{}, (World{namespace,allocator,store,resource,events,pending,registrations,nextSystemId,clock,lifecycle},True{}):World{namespace,A.release(allocator,key),store,resource,events,pending,registrations,nextSystemId,clock,lifecycle}