/**
  * Erstellt eine Allianz mit dem Avatar als Leader
  * @param \DragonJsonServerAvatar\Entity\Avatar $avatar
  * @param string $tag
  * @param string $name
  * @return \DragonJsonServerAlliance\Entity\Alliance
  */
 public function createAlliance(\DragonJsonServerAvatar\Entity\Avatar $avatar, $tag, $name)
 {
     $alliance = (new \DragonJsonServerAlliance\Entity\Alliance())->setGameroundId($avatar->getGameroundId())->setTag($tag)->setName($name);
     $this->getServiceManager()->get('\\DragonJsonServerDoctrine\\Service\\Doctrine')->transactional(function ($entityManager) use($avatar, $alliance) {
         $entityManager->persist($alliance);
         $entityManager->flush();
         $allianceavatar = $this->getServiceManager()->get('\\DragonJsonServerAlliance\\Service\\Allianceavatar')->createAllianceavatar($avatar, $alliance, 'leader');
         $this->getEventManager()->trigger((new \DragonJsonServerAlliance\Event\CreateAlliance())->setTarget($this)->setAlliance($alliance)->setAllianceavatar($allianceavatar));
     });
     return $alliance;
 }
 /**
  * Erstellt eine Avatarnachricht zu einem anderen Avatar
  * @param \DragonJsonServerAvatar\Entity\Avatar $from_avatar
  * @param integer $to_avatar_id
  * @param string $subject
  * @param string $content
  * @return Avatarmessage
  */
 public function createAvatarmessage(\DragonJsonServerAvatar\Entity\Avatar $from_avatar, $to_avatar_id, $subject, $content)
 {
     $serviceManager = $this->getServiceManager();
     $to_avatar = $serviceManager->get('\\DragonJsonServerAvatar\\Service\\Avatar')->getAvatarByAvatarId($to_avatar_id);
     if ($from_avatar->getGameroundId() != $to_avatar->getGameroundId()) {
         throw new \DragonJsonServer\Exception('gameround_id not match', ['from_avatar' => $from_avatar->toArray(), 'to_avatar' => $to_avatar->toArray()]);
     }
     $avatarmessage = (new \DragonJsonServerAvatarmessage\Entity\Avatarmessage())->setFromAvatar($from_avatar)->setToAvatar($to_avatar)->setSubject($subject)->setContent($content);
     $this->getServiceManager()->get('\\DragonJsonServerDoctrine\\Service\\Doctrine')->transactional(function ($entityManager) use($avatarmessage) {
         $entityManager->persist($avatarmessage);
         $entityManager->flush();
         $this->getEventManager()->trigger((new \DragonJsonServerAvatarmessage\Event\CreateAvatarmessage())->setTarget($this)->setAvatarmessage($avatarmessage));
     });
     return $this;
 }