public override void DrawState(GameTime gameTime, SpriteBatch sb)
        {
            base.DrawState(gameTime, sb);

            int minY = (int)Math.Abs(GlobalVariables.dY);
            int maxY = (int)(Math.Abs(GlobalVariables.dY) + GlobalVariables.ScreenHeight);

            _map.Draw(gameTime, sb);

            for (int i = 0; i < _listProjectile.Count; ++i)
            {
                _listProjectile[i].Draw(gameTime, sb);
            }

            for (int y = minY; y < maxY; y += 16)
            {
                for (int i = 0; i < _listToDraw.Count; ++i)
                {
                    if (y < _listToDraw[i].Y && _listToDraw[i].Y <= y + 32)
                    {
                        _listToDraw[i].Draw(gameTime, sb);
                    }
                }
            }
            _displayMessageLayer.Draw(gameTime, sb);
            _frog.Draw(gameTime, sb);
            GlobalVariables.GameCursor.Draw(gameTime, sb);
            _skillBoard.Draw(gameTime, sb);
            _infoBoard.Draw(gameTime, sb);
            _rhSkillSelectionFrame.Draw(gameTime, sb);
            _lhSkillSelectionFrame.Draw(gameTime, sb);
            _healthBar.Draw(gameTime, sb);



            if (GlobalVariables.IsPauseGame)
            {
                _subMenu.Draw(gameTime, sb);
            }
        }