def entry_outcome

bendvy-ecs-core@0.1.0.4 · machine_handler_engine.bend:21

import bendvy-ecs-core@0.1.0.4/machine_handler_engine.bend as MachineHandlerEngine
import Base
import bendvy-ecs-core@0.1.0.4/system.bend as Sys

21def entry_outcome(~S:Data,~State:Type,~Entry:Type,~Phase:Data,~V:Data,~invoke:Entry -> State -> Phase -> V -> V -> Entry & Sys.Outcome<State,String,Unit>,~initial:Entry -> State -> V -> Entry & Sys.Outcome<State,String,Unit>,~exitPhase:Phase,~transitionPhase:Phase,~enterPhase:Phase,entry:Entry,outcome:Sys.Outcome<State,String,Unit>,next:State -> Maybe<&2,String> -> PhaseResult<State,Entry>) -> PhaseResult<State,Entry>:
22  match outcome:
23    case Sys.Failed{world,error}:prepend(~S,~State,~Entry,~Phase,~V,~invoke,~initial,~exitPhase,~transitionPhase,~enterPhase,entry,next(world,Some{error}))
24    case Sys.Succeeded{world,_}:prepend(~S,~State,~Entry,~Phase,~V,~invoke,~initial,~exitPhase,~transitionPhase,~enterPhase,entry,next(world,None{}))

Uses (7)

Used by (1)