Exemplo n.º 1
0
 public function onActionComplete(ActionEvent $event)
 {
     if ($event->getProgress() === null) {
         return;
     }
     $exp = $event->getProgress() ? 2 : -2;
     $this->em->getRepository('AcmeUserBundle:User')->increaseExp($event->getUser(), $exp);
 }
Exemplo n.º 2
0
 public function firstActionAdd(ActionEvent $event)
 {
     $achievement = $this->em->getRepository('AcmeEdelaBundle:Achievement')->findOneBy(['tkey' => 'first-action-add']);
     if (!$achievement) {
         return;
     }
     if (!($userAchievement = $event->getUser()->getUserAchievements()->matching(Criteria::create()->where(Criteria::expr()->eq('achievement', $achievement)))->first())) {
         $userAchievement = new UserAchievement();
         $userAchievement->setProgress(100)->setUser($event->getUser())->setAchievement($achievement);
         $this->em->persist($userAchievement);
         $this->em->getRepository('AcmeUserBundle:User')->increaseExp($event->getUser(), $achievement->getExpReward());
         $this->em->persist($event->getUser());
         $this->em->flush();
     }
 }