bevy_boxddd 0.2.0

Bevy integration for the boxddd Rust bindings to Box3D
Documentation
//! Internal error reporting helpers for plugin systems.

use crate::messages::BoxdddErrorMessage;
use crate::resources::{BoxdddErrorPolicy, BoxdddPhysicsSettings};
use bevy_ecs::message::MessageWriter;

pub(crate) fn report_error(
    settings: &BoxdddPhysicsSettings,
    writer: &mut MessageWriter<'_, BoxdddErrorMessage>,
    message: BoxdddErrorMessage,
) {
    match settings.error_policy {
        BoxdddErrorPolicy::MessageOnly => {
            writer.write(message);
        }
        BoxdddErrorPolicy::MessageAndLog => {
            log::error!("{message:?}");
            writer.write(message);
        }
        BoxdddErrorPolicy::Panic => {
            panic!("{message:?}");
        }
    }
}