//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(); }