public void Clear()
 {
     fading = false;
     professorDisplayed = false;
     currentMessage = null;
     messages.Clear();
 }
        public void Update(GameTime gameTime)
        {
            if (professorDisplayed && this.currentMessage.Timed && !fading)
            {
                this.currentMessage.displayedTime += (float) gameTime.ElapsedGameTime.TotalSeconds;
                if (currentMessage.displayedTime >= currentMessage.limit)
                    StartFade();
            }

            if (!professorDisplayed && messages.Count > 0)
            {
                this.currentMessage = messages.Dequeue ();
                professorDisplayed = true;
            }

            if (fading)
            {
                fadePassed += (float) gameTime.ElapsedGameTime.TotalSeconds;

                if (fadePassed >= fadeTotal)
                {
                    professorDisplayed = false;
                    fading = false;
                }
            }

            HandleInput ();
        }
        public void EnqueueTimed(string text, float time)
        {
            ProfessorMessage message = new ProfessorMessage
            {
                Message = text,
                Timed = true,
                limit = time
            };

            messages.Enqueue (message);
        }
        public void ShowTimed(string text, float time)
        {
            ProfessorMessage message = new ProfessorMessage
            {
                Message = text,
                Timed = true,
                limit = time
            };

            professorDisplayed = true;
            currentMessage = message;
            messages.Clear();
        }
 public void EnqueueMessageBox(string text, Action messageClosed)
 {
     ProfessorMessage message = new ProfessorMessage { Message = text, Action = messageClosed };
     messages.Enqueue (message);
 }