cloudiful_bevy_localization/
definition_registry.rs1use crate::LocalizationDefinition;
2use std::sync::RwLock;
3
4static ACTIVE_DEFINITION: RwLock<Option<&'static LocalizationDefinition>> = RwLock::new(None);
5
6pub fn register_definition(definition: &'static LocalizationDefinition) {
7 *ACTIVE_DEFINITION
8 .write()
9 .expect("localization definition registry poisoned") = Some(definition);
10}
11
12pub(crate) fn active_definition() -> &'static LocalizationDefinition {
13 ACTIVE_DEFINITION
14 .read()
15 .expect("localization definition registry poisoned")
16 .as_ref()
17 .copied()
18 .expect("localization definition not registered")
19}