Exemple #1
0
        public void Draw(SpriteBatch spriteBatch, GameTime gameTime)
        {
            ScreenManager.GraphicsDevice.Clear(Color.CornflowerBlue);

            //Camera shakes
            var offset   = StaticScreenShaker.Instance.GetOffset();
            var shakeMat = Matrix.CreateTranslation(offset.X, offset.Y, 0);
            var mat      = camera.ViewportOffset.InvertAbsolute * shakeMat;

            spriteBatch.Begin(transformMatrix: mat, samplerState: SamplerState.PointClamp);

            //World
            //spriteBatch.Begin(camera, samplerState: SamplerState.PointClamp);
            mapRenderer.Render(hubMap, spriteBatch, camera);
            EntityManager.Instance.Draw(spriteBatch, gameTime);
            ParticleSystem.Instance.Draw(spriteBatch, gameTime);
            spriteBatch.End();


            //Interface
            spriteBatch.Begin();
            playerInterface.Draw(spriteBatch, gameTime);
            spriteBatch.End();

            //Debug
            spriteBatch.Draw(camera.Debug);
        }