def resource_taken

bendvy-ecs-core@0.1.0.4 · owned_event_family_storage.bend:18

import bendvy-ecs-core@0.1.0.4/owned_event_family_storage.bend as OwnedEventFamilyStorage
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/world_resource_owner.bend as Resource
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/owned_event_log.bend as Log

18def resource_taken(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~E:Data,~path:Product.Lens<R,Log.Log<P>,Rest>,~Out:Type,effect:Log.Log<P> -> Log.Log<P> & Out,result:Resource.Rest<S,C,R,E> & R) -> W.World<S,C,R,E> & Out:
19  match result:
20    case (worldRest,resource):log_taken(~S,~C,~R,~P,~Rest,~E,~path,~Out,effect,worldRest,Product.get_field(~R,~Log.Log<P>,~Rest,path)(resource))

Uses (8)

Used by (1)