public function chat(Player $char, $phrase)
 {
     $result = array();
     $charName = $char->getUsername();
     // сбор фразы из массива слов
     $phrase = implode(" ", $phrase);
     // если фраза не задана
     if (!$phrase) {
         $result["message"] = "0:4:3";
         // чат: фраза не задана
         return $result;
     }
     // оповещение всех в мире
     $playersOnline = $this->container->get('datachannel')->getOnlineIds($char->getId());
     $playersOnlineObj = $this->playerRepository->findPlayersOnline($playersOnline);
     $result["message"] = "2:3";
     // сообщил в чат
     $result["who"] = $charName;
     $result["ooc"] = $phrase;
     if ($playersOnlineObj) {
         $result["3rd"] = $playersOnlineObj;
         $result["3rdecho"] = array("message" => $result["message"], "who" => $result["who"], "ooc" => $phrase);
     }
     return $result;
 }
 /**
  * Телепортация к персонажу
  * @param Player $char
  * @param        $arguments
  * @return array
  */
 public function jumptp(Player $char, $arguments)
 {
     $result = array();
     if ($arguments && $arguments[1]) {
         $charName = $char->getUsername();
         // приведение первого аргумента введенной команды в нижний регистр
         $targetPlayer = mb_strtolower($arguments[1], 'UTF-8');
         $playersOnlineIds = $this->container->get('datachannel')->getOnlineIds();
         $playersOnline = $this->playerRepository->findPlayersOnline($playersOnlineIds);
         foreach ($playersOnline as $player) {
             /** @var Player $player */
             $playerName = $player->getUsernameCanonical();
             $playerNameFull = $player->getUsername();
             if (strpos($playerName, $targetPlayer) !== false) {
                 // если персонаж найден
                 $result["system"] = "Ты прыгнул к {$playerNameFull}!";
                 // перемещение
                 $destinationRoom = $player->getRoom();
                 $char->setRoom($destinationRoom);
                 $this->em->persist($char);
                 $this->em->flush();
                 // отправка сообщения адресату
                 $result["3rd"] = array($player);
                 $result["3rdecho"] = array("system" => "{$charName} прыгнул к тебе!");
                 return $result;
             }
         }
     } else {
         $result["system"] = "Персонаж не найден. Применение: jumptp [имя-персонажа]";
     }
     return $result;
 }