public StatusUpdateBar(int offsetY)
     : base("General/updateBarBG", new Vector2(GameClass.CurrentGameCamera.Position.Y - 75, GameClass.CurrentGameCamera.Position.Y + offsetY), Vector2.Zero)
 {
     appearanceTimer = 0.0f;
     state = StatusUpdateBarState.IdleHidden;
     offsetX = -75;
     this.offsetY = offsetY;
 }
        public override void Update(GameTime gameTime)
        {
            switch (state)
            {
                case StatusUpdateBarState.Appearing:
                    if (!(offsetX < 75))
                    {
                        offsetX = 75;
                        state = StatusUpdateBarState.IdleShowing;
                    }
                    else
                    {
                        offsetX += appearanceSpeed;
                    }
                    break;

                case StatusUpdateBarState.Disappearing:
                    if (!(offsetX >  -75))
                    {
                        offsetX = -75;
                        state = StatusUpdateBarState.IdleHidden;
                    }
                    else
                    {
                        offsetX -= appearanceSpeed;
                    }
                    break;
                case StatusUpdateBarState.IdleShowing:

                    if (appearanceTimer > appearanceDuration)
                    {
                        appearanceTimer = 0.0f;
                        state = StatusUpdateBarState.Disappearing;
                    }
                    else
                    {
                        appearanceTimer += GameClass.Elapsed;
                    }
                    break;
            }

            position = new Vector2(GameClass.CurrentGameCamera.Position.X + offsetX, GameClass.CurrentGameCamera.Position.Y + offsetY);
            base.Update(gameTime);
        }
 public void Show(string message)
 {
     updateMessage = message;
     GameClass.SoundManager.PlaySoundEffect("Audio/menuPopUp");
     state = StatusUpdateBarState.Appearing;
 }