fix fish render layer

This commit is contained in:
Evan Pratten 2021-04-24 19:02:03 -04:00
parent f9957f57ea
commit 81126975a1

View File

@ -32,6 +32,7 @@ impl InGameScreen {
&mut self, &mut self,
context_2d: &mut RaylibMode2D<RaylibDrawHandle>, context_2d: &mut RaylibMode2D<RaylibDrawHandle>,
game_core: &mut GameCore, game_core: &mut GameCore,
dt: f64
) { ) {
// Build source bounds // Build source bounds
let source_bounds = Rectangle { let source_bounds = Rectangle {
@ -50,6 +51,13 @@ impl InGameScreen {
// Clear the background // Clear the background
context_2d.draw_rectangle_rec(world_bounds, WATER); context_2d.draw_rectangle_rec(world_bounds, WATER);
// Render fish
let fish_clone = game_core.world.fish.clone();
for fish in game_core.world.fish.iter_mut() {
fish.update_position(&mut game_core.player, dt, &fish_clone);
fish.render(context_2d);
}
// Render the world texture // Render the world texture
context_2d.draw_texture_rec( context_2d.draw_texture_rec(
&game_core.resources.cave_mid_layer, &game_core.resources.cave_mid_layer,
@ -110,17 +118,12 @@ impl Screen for InGameScreen {
let mut context_2d = draw_handle.begin_mode2D(game_core.master_camera); let mut context_2d = draw_handle.begin_mode2D(game_core.master_camera);
// Render the world // Render the world
self.render_world(&mut context_2d, game_core); self.render_world(&mut context_2d, game_core, dt);
if game_core.show_simple_debug_info { if game_core.show_simple_debug_info {
self.render_colliders(&mut context_2d, game_core); self.render_colliders(&mut context_2d, game_core);
} }
// Render entities // Render entities
let fish_clone = game_core.world.fish.clone();
for fish in game_core.world.fish.iter_mut() {
fish.update_position(&mut game_core.player, dt, &fish_clone);
fish.render(&mut context_2d);
}
for jellyfish in game_core.world.jellyfish.iter_mut() { for jellyfish in game_core.world.jellyfish.iter_mut() {
jellyfish.handle_logic(&mut game_core.player, dt); jellyfish.handle_logic(&mut game_core.player, dt);
jellyfish.render(&mut context_2d, &mut game_core.resources, dt); jellyfish.render(&mut context_2d, &mut game_core.resources, dt);