pub trait ConfigInterface:
Debug
+ Send
+ Sync {
Show 20 methods
// Required methods
fn species(&self) -> Arc<HashMap<i32, Arc<SpeciesData>>>;
fn locations(&self) -> Arc<HashMap<i32, Arc<LocationData>>>;
fn items(&self) -> Arc<HashMap<i32, Arc<ItemData>>>;
fn settings(&self) -> Arc<Settings>;
fn species_names(&self) -> Arc<HashMap<i32, String>>;
fn location_names(&self) -> Arc<HashMap<i32, String>>;
fn item_names(&self) -> Arc<HashMap<i32, String>>;
fn items_by_attributes(
&self,
) -> Arc<HashMap<ItemAttributesType, Arc<Vec<Arc<ItemData>>>>>;
fn items_by_properties(
&self,
) -> Arc<HashMap<ItemPropertiesType, Arc<Vec<Arc<ItemData>>>>>;
fn items_by_category(
&self,
) -> Arc<HashMap<ItemCategory, Arc<Vec<Arc<ItemData>>>>>;
fn item_ids_by_category(&self) -> Arc<HashMap<ItemCategory, Arc<Vec<i32>>>>;
// Provided methods
fn get_species_data(&self, species_id: i32) -> Option<Arc<SpeciesData>> { ... }
fn get_location_data(&self, location_id: i32) -> Option<Arc<LocationData>> { ... }
fn get_item_data(&self, item_id: i32) -> Option<Arc<ItemData>> { ... }
fn get_items_by_attributes_type(
&self,
attributes_type: ItemAttributesType,
) -> Option<Arc<Vec<Arc<ItemData>>>> { ... }
fn get_items_by_properties_type(
&self,
properties_type: ItemPropertiesType,
) -> Option<Arc<Vec<Arc<ItemData>>>> { ... }
fn get_items_by_category(
&self,
item_category: ItemCategory,
) -> Option<Arc<Vec<Arc<ItemData>>>> { ... }
fn get_item_ids_by_category(
&self,
item_category: ItemCategory,
) -> Option<Arc<Vec<i32>>> { ... }
fn is_item_in_category(
&self,
item_data: Arc<ItemData>,
category: ItemCategory,
) -> bool { ... }
fn is_item_id_in_category(
&self,
item_id: i32,
item_category: ItemCategory,
) -> bool { ... }
}Required Methods§
fn species(&self) -> Arc<HashMap<i32, Arc<SpeciesData>>>
fn locations(&self) -> Arc<HashMap<i32, Arc<LocationData>>>
fn items(&self) -> Arc<HashMap<i32, Arc<ItemData>>>
fn settings(&self) -> Arc<Settings>
fn species_names(&self) -> Arc<HashMap<i32, String>>
fn location_names(&self) -> Arc<HashMap<i32, String>>
fn item_names(&self) -> Arc<HashMap<i32, String>>
fn items_by_attributes( &self, ) -> Arc<HashMap<ItemAttributesType, Arc<Vec<Arc<ItemData>>>>>
fn items_by_properties( &self, ) -> Arc<HashMap<ItemPropertiesType, Arc<Vec<Arc<ItemData>>>>>
fn items_by_category( &self, ) -> Arc<HashMap<ItemCategory, Arc<Vec<Arc<ItemData>>>>>
fn item_ids_by_category(&self) -> Arc<HashMap<ItemCategory, Arc<Vec<i32>>>>
Provided Methods§
fn get_species_data(&self, species_id: i32) -> Option<Arc<SpeciesData>>
fn get_location_data(&self, location_id: i32) -> Option<Arc<LocationData>>
fn get_item_data(&self, item_id: i32) -> Option<Arc<ItemData>>
fn get_items_by_attributes_type( &self, attributes_type: ItemAttributesType, ) -> Option<Arc<Vec<Arc<ItemData>>>>
fn get_items_by_properties_type( &self, properties_type: ItemPropertiesType, ) -> Option<Arc<Vec<Arc<ItemData>>>>
fn get_items_by_category( &self, item_category: ItemCategory, ) -> Option<Arc<Vec<Arc<ItemData>>>>
fn get_item_ids_by_category( &self, item_category: ItemCategory, ) -> Option<Arc<Vec<i32>>>
fn is_item_in_category( &self, item_data: Arc<ItemData>, category: ItemCategory, ) -> bool
fn is_item_id_in_category( &self, item_id: i32, item_category: ItemCategory, ) -> bool
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".