struct Level { vague: i64, multiplier: i64, verif_vague: i64, d_ennemi: i64, meteors: Vec, } impl Level { pub fn pass_level(&mut self, pass: bool){ if !pass { self.vague+=1; self.meteors.clear(); } //insert meteor for _i in 0..self.vague*self.multiplier{ self.meteors.push(Meteor {pos_y: 0.0, pos_x: 0.0, vitesse: 2,texture: Texture::from_path(Path::new(&"assets/meteor.png"),&TextureSettings::new()).unwrap()}.create()); } } pub fn check_level(&mut self, player: &mut Player) -> bool{ player.score+=1; self.d_ennemi+=1; if self.d_ennemi == (self.vague*self.multiplier)*self.multiplier { self.d_ennemi=0; self.verif_vague+=1; if self.verif_vague == (self.vague*self.multiplier)*self.multiplier { self.verif_vague = 0; self.d_ennemi = 0; self.vague+=1; self.pass_level(true); return true; }else{ return false; } } return false; } }