def condition_placement
bendvy-ecs-core@0.1.0.4 · ordinary_app_condition_schedule.bend:49
import bendvy-ecs-core@0.1.0.4/ordinary_app_condition_schedule.bend as OrdinaryAppConditionSchedule
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/ordinary_app_schedule_description.bend as Named
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Fields
import bendvy-ecs-core@0.1.0.4/ordinary_condition_declaration.bend as Condition
49def condition_placement(~S:Data,~C:Type,~R:Type,~E:Data,~H:Type,~Rows:Data,~observe:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~fold:H -> H & List<&2,Fields.Fields<S>>,~Ids:Data,~declaration:Condition.Program<S,C,R,E,Ids>,+program:Condition.Entries<S>,placement:Named.Placement<S>) -> Maybe<&2,ConditionPlacement>:
50 match placement:
51 case Named.System{position,_,_,_,+slot,_}:Some{ConditionPlacement{position,slot,Condition.condition_name(~S,program,slot)}}
52 case Named.Phase{_,_,_}:None{}
53 case Named.Barrier{_,_}:None{}