Example #1
0
 /**
  * Handles onStateWasSet event
  * Returns true if there was state change
  *
  * @param StateInterface   $state
  * @param PayloadInterface $payload
  *
  * @return StateInterface|null
  */
 private function handleOnStateWasSet(StateInterface $state, PayloadInterface $payload)
 {
     while ($state->hasEvent(self::ON_STATE_WAS_SET)) {
         $newState = $state->triggerEvent(self::ON_STATE_WAS_SET, $payload);
         if ($newState === null) {
             break;
         }
         $state = $this->getState($newState);
         $this->updatePayload($state, $payload);
     }
 }