dispatchEvent method
Implementation
@override
bool dispatchEvent(
Token eventType, String? eventFlag, String stateName, Context? context) {
switch (eventType) {
case Token.EventOnConditionInclude:
return onConditionInclude(eventFlag!);
case Token.EventOnCondition:
return onCondition(eventFlag!);
case Token.EventOnRuleMatchedEnterLeave:
final Map data = decryptEvent(eventFlag!);
/// TODO: 分解字段
onRuleMatched(stateName, context!,
enter: data['enter'], leave: data['leave']);
break;
case Token.EventOnRuleMissed:
onRuleMissed(eventFlag!);
break;
case Token.EventOnRuleWillStart:
onRuleWillStart(eventFlag!);
break;
case Token.EventOnStateWillStart:
onStateWillStart(stateName);
break;
case Token.EventOnStateWillRestart:
onStateWillRestart(stateName);
break;
case Token.EventOnStateWillEnd:
onStateWillEnd(stateName);
break;
case Token.EventUnknown:
default:
}
return false;
}