mirage-engine 0.1.1

Mirage, an immediate-mode 3D engine for simple games on desktop and the browser
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! A drop that repeats every frame, warned about once per run.

/// Reports a drop past a cap: warned the first time, so default log
/// filters show it, and a debug line every time after — the drop repeats
/// every frame.
#[derive(Default)]
pub(crate) struct Overrun(bool);

impl Overrun {
    pub(crate) fn report(&mut self, message: core::fmt::Arguments<'_>) {
        if core::mem::replace(&mut self.0, true) {
            log::debug!("{message}");
        } else {
            log::warn!("{message}");
        }
    }
}