dispatchEvent method

  1. @override
bool dispatchEvent(
  1. Token eventType,
  2. String? eventFlag,
  3. String stateName,
  4. Context? context,
)
inherited

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;
}