Guard conditions
import 'package:fsm2/fsm2.dart';
void main() {
var temperature = 0;
final machine = StateMachine.create((g) => g
..initialState(Solid())
..state<Solid>((b) => b
..on<OnHeat, Liquid>(condition: temperature + e.deltaDegrees > 0)
..on<OnHeat, Boiling>(condition: temperature + e.deltaDegrees > 100)
..on<OnHeat, Solid>()
));machine.applyEvent(OnHeat(deltaDegrees: 25));Default Transition
Last updated
Was this helpful?