use rusting_engine::prelude::*;
pub const FALL_Y: f32 = -10.0;
pub fn checkpoints(scene: &mut GameScene<'_>) {
let checkpoints = scene.in_class("checkpoint");
for name in scene.touching("Player") {
if checkpoints.contains(&name) {
let at = scene.object(&name).position();
scene.object("Checkpoint Respawn").set_position(at);
}
}
let Some(y) = scene
.try_object("Player")
.map(|player| player.position()[1])
else {
return;
};
if y < FALL_Y {
let at = scene.object("Checkpoint Respawn").position();
scene.object("Player").set_position(at);
}
}