Example #1
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            m_drawer.SetRenderTarget();
            GraphicsDevice.Clear(m_bgColor);

            // Drawing combo score behind all sprites
            //

            SpriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.PointClamp, null, null);
            comboCounter.Draw();
            SpriteBatch.End();

            // Begin all drawing methods
            //
            SpriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.PointClamp, null, null, null, GameCamera.CameraMatrix);
            m_falaise.Draw();
            Cutscenes.crowd.DrawBack();
            if (CurrentTotem != null)
            {
                for (int i = 0; i < totems.Length; ++i)
                {
                    if (totems[i] != null)
                    {
                        totems[i].Draw();
                    }
                }
            }
            Cutscenes.cutscenePlayer.Draw();
            Cutscenes.monster.Draw();
            Cutscenes.crowd.DrawFront();

            player.Draw();

            Souls.Draw();
            Explosions.Draw();
            SpriteBatch.End();

            // Drawing GUI
            //
            SpriteBatch.Begin();
            startingCountdown.Draw();
            scoreBorder.Draw();
            mapBorder.Draw();
            scoreDisplay.Draw();
            Cutscenes.title.Draw();
            SpriteBatch.End();

            // Drawing Menu
            //
            SpriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.PointClamp, null, null);
            menuScreen.Draw();
            SpriteBatch.End();

            SpriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.PointClamp, null, null);
            pauseScreen.Draw();
            SpriteBatch.End();

            // End drawing
            //
            m_drawer.Draw();

            //if (startingCountdown.CountdownHasFinished)
            //{
            //    SpriteBatch.Begin();
            //    SpriteBatch.DrawString(menuText, "Souls : " + scoreBorder.Score, new Vector2(70, 0), Color.Black);
            //    SpriteBatch.End();
            //}

            if (debugMode)
            {
                SpriteBatch.Begin();
                // Debug text
                //
                //SpriteBatch.DrawString(debugText, "Souls : " + scoreBorder.Score + "/" + scoreBorder.ScoreBarMaxValue, new Vector2(0, 300), Color.Red);
                //SpriteBatch.DrawString(debugText, "Chall : " + menuScreen.challengeChoice, new Vector2(0, 320), Color.Red);
                //SpriteBatch.DrawString(menuText, "Test", new Vector2(20, 350), Color.Black);
                //SpriteBatch.DrawString(debugText, "player posY : " +player.Transform.PosY , new Vector2(0, 300), Color.Red);
                //SpriteBatch.DrawString(debugText, "isCBSP : " + isComboBreakerSoundPossible, new Vector2(0, 320), Color.Red);
                SpriteBatch.End();
            }

            base.Draw(gameTime);
        }