Hey! I'm fairly new to the language so I decided to work on a simple game project. I understand some of the basics of the borrow checker but I can't seem to figure out what I'm doing wrong with my current method, whether I made a simple mistake or if I just can't figure out how to design around the language rules.
use raylib::prelude::*;
mod engine;
fn main() {
let (mut rl, thread) = raylib::init()
.size(640, 480)
.title("Game Window")
.resizable()
.build();
rl.toggle_fullscreen();
let level1_texture = rl.load_texture(
&thread,
format!("{}/level1.png", engine::ASSETS_DIRECTORY).as_str(),
);
assert!(level1_texture.is_ok());
let level1 = engine::level::load_level(level1_texture.unwrap().load_image().unwrap());
let mut player = engine::player::init_player();
while !rl.window_should_close() {
let mut d = rl.begin_drawing(&thread);
// Processing
player.update(&mut rl); // cannot borrow `rl` as mutable more than once at a time
// Rendering
for o in level1.objects.iter() {
o.draw_hitbox(&mut d);
}
player.object.draw_hitbox(&mut d);
d.clear_background(Color::BLACK);
}
}