protected void draw_hud(SpriteBatch sprite_batch) { sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); if (Hit_Spark != null) { Hit_Spark.draw(sprite_batch); } Vector2 number_vector = (Layer_3_Shake + Platform_1_Shake + Platform_2_Shake) * 0.5f + Pan_Vector; foreach (var number in HitNumbers) { number.draw(sprite_batch, new Vector2((int)number_vector.X, (int)number_vector.Y)); } sprite_batch.End(); if (HUD != null) { HUD.draw(sprite_batch, Layer_5_Shake); } sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); if (Miss_Spark != null) { Miss_Spark.draw(sprite_batch, Pan_Vector); } if (NoDamage_Spark != null) { NoDamage_Spark.draw(sprite_batch, Pan_Vector); } sprite_batch.End(); if (Exp_Gauge != null) { sprite_batch.GraphicsDevice.ScissorRectangle = fix_rect_to_screen(Exp_Gauge.scissor_rect()); if (sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0 && sprite_batch.GraphicsDevice.ScissorRectangle.Width > 0) { sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, Exp_Gauge.raster_state); Exp_Gauge.draw(sprite_batch); sprite_batch.End(); } } Effect battle_shader = Global.effect_shader(); if (Battler_1_Sprite != null) { Battler_1_Sprite.draw_fg_effects(sprite_batch, battle_shader, Pan_Vector); } if (Battler_2_Sprite != null) { Battler_2_Sprite.draw_fg_effects(sprite_batch, battle_shader, Pan_Vector); } draw_skill_gain_popup(sprite_batch); draw_wlvl_popup(sprite_batch); draw_wbreak_popup(sprite_batch); }
protected void draw_animation_scene(SpriteBatch sprite_batch, GraphicsDevice device, RenderTarget2D final_render, RenderTarget2D temp_render, RenderTarget2D effect_render) { Effect reel_shader = Global.effect_shader(); // Background sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); Background.draw(sprite_batch); sprite_batch.End(); // Spell Bg if (Battler != null) { Battler.draw_bg_effects(sprite_batch, reel_shader); } // Platform Platform.draw(sprite_batch); // Battler if (Battler != null) { BattleSpriteRenderer battler_renderer = new BattleSpriteRenderer( false, Vector2.Zero, Vector2.Zero, Vector2.Zero); battler_renderer.draw(sprite_batch, device, new Tuple <Battler_Sprite, bool>(Battler, false), null, final_render, temp_render, effect_render); } sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); /*if (Battler != null) //Debug * { * sprite_batch.End(); * Battler.draw_lower_effects(sprite_batch, reel_shader); * Battler.draw_lower(sprite_batch, Vector2.Zero, reel_shader); * Battler.draw(sprite_batch, Vector2.Zero, reel_shader); * Battler.draw_upper(sprite_batch, Vector2.Zero, reel_shader); * sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); * }*/ // Stats if (Message != null) { foreach (Class_Reel_Stat_Bars bar in Stat_Bars) { bar.draw(sprite_batch); } foreach (TextSprite label in Stat_Labels) { label.draw(sprite_batch); } foreach (TextSprite value in Stat_Values) { value.draw(sprite_batch); } foreach (Icon_Sprite icon in Weapon_Icons) { icon.draw(sprite_batch); } Name_Bg.draw(sprite_batch); } // Battler if (Battler != null) { sprite_batch.End(); Battler.draw_upper_effects(sprite_batch, reel_shader); sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); } // Name/Message if (Message != null) { Text_Bg.draw(sprite_batch); Name.draw(sprite_batch); sprite_batch.End(); // Message Message.draw_background(sprite_batch); Message.draw_faces(sprite_batch); Message.draw_foreground(sprite_batch); sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); } // Spell Fg if (Battler != null) { sprite_batch.End(); Battler.draw_fg_effects(sprite_batch, reel_shader); sprite_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); White_Flash.draw(sprite_batch); } // Black Screen Black_Screen.draw(sprite_batch); Black_Bar1.draw(sprite_batch); Black_Bar2.draw(sprite_batch); sprite_batch.End(); }