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}

Uses (7)

Used by (2)