use std::ops::Deref;
use bevy_app::Plugin;
use bevy_ecs::prelude::Resource;
use bevy_ecs::system::SystemParam;
use crate::{CVarFlags, cvar_collection};
cvar_collection! {
pub struct CoreCVars & CoreCVarsMut {
log_cvar_changes = cvar LogCVarChanges("core.log_cvar_changes", CVarFlags::RUNTIME): bool = false,
}
#[doc(hidden)]
pub struct CoreCVarsPlugin;
}
static_assertions::assert_impl_all!(CoreCVars: SystemParam);
static_assertions::assert_impl_all!(CoreCVarsPlugin: Plugin);
static_assertions::assert_impl_all!(LogCVarChanges: Resource, Deref<Target = bool>);
#[cfg(feature = "config_loader")]
use std::path::PathBuf;
#[cfg(feature = "config_loader")]
cvar_collection! {
pub struct ConfigLoaderCVars & ConfigLoaderCVarsMut {
config_layers = cvar ConfigLayers("core.config_layers", CVarFlags::LOCAL): Vec<PathBuf> = vec![],
}
#[doc(hidden)]
pub struct ConfigLoaderCVarsPlugin;
}