boxdd 0.2.0

Safe, ergonomic Rust bindings for Box2D v3
Documentation
1
2
3
4
5
6
7
8
9
10
use std::sync::{Mutex, MutexGuard, OnceLock};

static BOX2D_GLOBAL_LOCK: OnceLock<Mutex<()>> = OnceLock::new();

pub(crate) fn lock<'a>() -> MutexGuard<'a, ()> {
    BOX2D_GLOBAL_LOCK
        .get_or_init(|| Mutex::new(()))
        .lock()
        .expect("box2d global lock poisoned")
}