public void Draw(SpriteBatch spriteBatch, Player player, Wavelist waveList)
        {
            spriteBatch.Draw(UItexture, UIposition, Color.White);
            string text = string.Format("Gold : {0} Lives : {1} Wave number : {2} Number of waves: {3}", player.Money, player.Lives, waveList.Round, waveList.NumWaves);

            spriteBatch.DrawString(UIfont, text, UItextPosition, Color.White);
        }
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }
            switch (CurrentGameState)
            {
            case GameState.MainMenu:
                playButton.Update(gameTime);
                if (playButton.isClicked == true)
                {
                    CurrentGameState = GameState.DifficultySelect;
                }
                playButton.Update(gameTime);
                break;

            case GameState.DifficultySelect:
                hardButton.Update(gameTime);
                mediumButton.Update(gameTime);
                easyButton.Update(gameTime);
                Texture2D enemyTexture = Content.Load <Texture2D>("enemy");
                if (hardButton.isClicked == true)
                {
                    CurrentGameState = GameState.Playing;
                    waveList         = new Wavelist(player, level, 20, enemyTexture);
                }
                else if (mediumButton.isClicked == true)
                {
                    CurrentGameState = GameState.Playing;
                    waveList         = new Wavelist(player, level, 15, enemyTexture);
                }
                else if (easyButton.isClicked == true)
                {
                    CurrentGameState = GameState.Playing;
                    waveList         = new Wavelist(player, level, 10, enemyTexture);
                }

                break;

            case GameState.Playing:
                if (player.Lives < 1)
                {
                    CurrentGameState = GameState.Lost;
                    player.Update(gameTime, null);
                }
                else if (waveList.Waves.Count == 0)
                {
                    player.Lives     = 0;
                    CurrentGameState = GameState.Win;
                    player.Update(gameTime, null);
                }
                else
                {
                    player.Update(gameTime, waveList.Enemies);
                    waveList.Update(gameTime);
                }

                break;

            case GameState.Lost:
                resetButton.Update(gameTime);
                if (resetButton.isClicked)
                {
                    CurrentGameState = GameState.MainMenu;
                }
                break;

            case GameState.Win:
                resetButton1.Update(gameTime);
                if (resetButton1.isClicked)
                {
                    CurrentGameState = GameState.MainMenu;
                }
                break;
            }
            base.Update(gameTime);
        }