public void Draw()
        {
            Vector2 guiOffset = new Vector2(700, 128);

            Engine.Instance.SpriteBatch.Draw(BG, Engine.Instance.ScreenArea, Color.White);
            Engine.Instance.SpriteBatch.Draw(GUIBG, guiOffset + new Vector2(-30, -50), Color.White);

            Grid.Instance.Draw();
            ActiveShape.Draw();

            Engine.Instance.SpriteBatch.DrawString(GUIFont, string.Format("Score: {0}", Score), guiOffset + new Vector2(0, 0), Color.White);
            Engine.Instance.SpriteBatch.DrawString(GUIFont, string.Format("Level: {0}", LevelNr), guiOffset + new Vector2(0, 50), Color.White);
            Engine.Instance.SpriteBatch.DrawString(GUIFont, string.Format("Lives: {0}", Lives), guiOffset + new Vector2(0, 75), Color.White);
            Engine.Instance.SpriteBatch.DrawString(GUIFont, "Next Block", guiOffset + new Vector2(0, 100), Color.White);

            NextShape.DrawInGUI(guiOffset + new Vector2(0, 150));

            if (State == eLevelState.CountingDown)
            {
                Engine.Instance.SpriteBatch.DrawString(CountDownFont, (CountDown.TimeLeftSec + 1).ToString(), Grid.Instance.GridArea.CenterVector(), Color.White);
            }
            else if (State == eLevelState.QuitConfirm)
            {
                Engine.Instance.SpriteBatch.Draw(QuitDlgBG, Engine.Instance.ScreenArea.CenterVector() - new Vector2(QuitDlgBG.Width / 2, QuitDlgBG.Height / 2), Color.White);
            }
        }