/** * @param PlayzoneMessage $messageObject * @param ConnectionInterface $from */ private function sendMessageToGameObservers(PlayzoneMessage $messageObject, ConnectionInterface $from) { /** @var ClientMessageMessageSend $messageGame */ $messageGame = $this->getObjectFromJson(json_encode($messageObject->getData()), 'WebsocketServerBundle\\Model\\Message\\Client\\Game\\ClientMessageMessageSend'); foreach ($this->users as $wsUser) { if ($wsUser->getConnection() == $from) { $chatMessage = $this->container->get("core.handler.chat")->createEntity(); $chatMessage->setUser($wsUser->getPlayzoneUser())->setMessage($messageGame->getMessage())->setTime($this->container->get("core.service.date")->getDateTime()); $messageObject->setData(json_decode($this->container->get("jms_serializer")->serialize($chatMessage, 'json'), true)); $this->send($messageObject, $wsUser); } } foreach ($this->users as $wsUser) { if ($wsUser->getConnection() != $from) { $messageObject->setMethod("send_message_to_observers_" . $messageGame->getGameId()); $this->send($messageObject, $wsUser); } } }