def run_initial

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

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

34def run_initial(~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,entries:List<&1,Entry>,world:State,+to:V,error:Maybe<&2,String>) -> PhaseResult<State,Entry>:
35  match entries error:
36    case entries Some{error}: Failed{entries,world,error}
37    case [] None{}: Complete{[],world}
38    case entry <> rest None{}: entry_result(~S,~State,~Entry,~Phase,~V,~invoke,~initial,~exitPhase,~transitionPhase,~enterPhase,initial(entry,world,to),world => error => run_initial(~S,~State,~Entry,~Phase,~V,~invoke,~initial,~exitPhase,~transitionPhase,~enterPhase,rest,world,to,error))

Uses (8)

Used by (3)