예제 #1
0
        //Draw method
        internal void UpdateAndDraw(float a_elapsedTime)
        {
            //Updating camera position
            m_camera.UpdateCamera();

            m_spriteBatch.Begin();

            //Drawing background
            m_graphicView.DrawBackground(m_spriteBatch);

            //Drawing map layers
            #region TileLayers
            m_gameModel.CurrentMap.DrawLayer(m_spriteBatch, m_gameModel.TMXLevel.BackgroundIndex, m_camera.GetScreenRectangle, 0f);
            m_gameModel.CurrentMap.DrawLayer(m_spriteBatch, m_gameModel.TMXLevel.ForegroundIndex, m_camera.GetScreenRectangle, 0f);
            //Trigger layer
            if (m_gameModel.TMXLevel.TriggerTwoIsActive)
            {
                m_gameModel.CurrentMap.DrawLayer(m_spriteBatch, m_gameModel.TMXLevel.TriggerIndex, m_camera.GetScreenRectangle, 0f);
            }
            #endregion
            #region ObjLayers (Debug only)
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.CollisionIndex, m_camera.GetScreenRectangle, 0f);
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.DeathIndex, m_camera.GetScreenRectangle, 0f);
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.PlayerIndex, m_camera.GetScreenRectangle, 0f);
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.EnemiesIndex, m_camera.GetScreenRectangle, 0f);
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.MovementAidIndex, m_camera.GetScreenRectangle, 0f);
            //m_gameModel.CurrentMap.DrawObjectLayer(m_spriteBatch, m_gameModel.TMXLevel.ItemsAndTriggersIndex, m_camera.GetScreenRectangle, 0f);
            #endregion

            //Drawing game componets via the correspondent view-classes
            m_graphicView.DrawLeaves(a_elapsedTime, m_spriteBatch);
            m_itemView.Draw(a_elapsedTime, m_spriteBatch);
            m_graphicView.DrawPlatforms(m_spriteBatch, m_gameModel.TMXLevel);
            m_unitView.Draw(a_elapsedTime, m_spriteBatch);
            m_uIView.Draw(a_elapsedTime, m_spriteBatch);

            m_spriteBatch.End();
        }