// Update is called once per frame
 void Update()
 {
     if (q.Count > 0)
     {
         if (timer == 0)
         {
             dialogueBox.GetComponent <Animator>().SetBool("Show", true);
             dialogueBox.GetComponent <AudioSource>().Play();
             foreach (AchievementCard c in GameController.instance.achievements)
             {
                 if (c.achievement == q.Peek())
                 {
                     temp = c;
                 }
             }
             text.text = temp.Name;
         }
         timer += Time.deltaTime;
         if (timer > waitTime * 2 + 1.5f)
         {
             text.text = "";
             timer     = 0;
             q.Dequeue();
         }
         else if (timer > waitTime * 2)
         {
             dialogueBox.GetComponent <Animator>().SetBool("Show", false);
         }
         else if (timer > waitTime)
         {
             text.text = temp.description;
         }
     }
 }
        public static ManageUserCardsViewModel Populate(int id, UnitOfWork work = null)
        {
            if(work == null)
                work = new UnitOfWork();

            List<achievement_instance> selectedUserAchievements = work.EntityContext.achievement_instance.Where(ai => ai.user_id == id).ToList();
            List<AchievementCard> achievementCardList = new List<AchievementCard>();

            foreach (achievement_instance instance in selectedUserAchievements)
            {
                AchievementCard achievementCard = new AchievementCard
                {
                    Title = work.EntityContext.achievement_template.Find(instance.achievement_id).title,
                    InstanceID = instance.id,
                    CardGiven = instance.card_given
                };

                achievementCardList.Add(achievementCard);
            }

            return new ManageUserCardsViewModel
            {
                AchievementCardList = achievementCardList
            };
        }