/// <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) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); if (inBattle) { //Draws the custom bar and hp windom (maybe emotion window later) //ONly the background should be drawed before this custom.drawBars(spriteBatch, screenSize); stage.Draw(spriteBatch, screenSize); for (int j = 0; j < 3; j++) { for (int i = 0; i < 6; i++) { stage.actorArray[i, j]?.Draw(spriteBatch, screenSize); foreach (Projectile foo in stage.projectileList[i, j]) { foo.Draw(spriteBatch, screenSize); } } } //Draw effects on top of actors for (int i = 0; i < stage.stageEffects.effect.Count; i++) { stage.stageEffects.effect[i].Draw(spriteBatch, stage.stageEffects.location[i], screenSize); } //Draw this last, we want this to be on top of everything custom.Draw(spriteBatch, screenSize); } else { currentArea.Draw(spriteBatch, screenSize); navi.overWorldDraw(spriteBatch, screenSize); } if (debug) { debugDraw(); } spriteBatch.End(); base.Draw(gameTime); }