def evaluate

bendvy-ecs-core@0.1.0.3 · machine.bend:146

import bendvy-ecs-core@0.1.0.3/machine.bend as Machine
import Base

146def evaluate(~S: Data,~M: Data,~V: Data,~same: V -> V -> Bool,condition: Condition<V>,+slot: Slot<S,M,V>) -> Bool:
147  match condition:
148    case InState{value}: current_matches(~S,~M,~V,~same,slot,value)
149    case StateChanged{}: changed(~S,~M,~V,slot)
150    case Not{inner}: Bool.not(evaluate(~S,~M,~V,~same,inner,slot))
151    case Constant{value}: value
152    case And{left,right}: Bool.and(evaluate(~S,~M,~V,~same,left,slot),evaluate(~S,~M,~V,~same,right,slot))
153    case Or{left,right}: Bool.or(evaluate(~S,~M,~V,~same,left,slot),evaluate(~S,~M,~V,~same,right,slot))

Uses (8)

Used by (0)

No other definition uses this definition.