concinnity_core/resource/
runtime.rs1use alloc::collections::BTreeMap;
8use alloc::vec::Vec;
9
10use crate::ecs::asset_id::AssetId;
11
12#[derive(Debug, Clone, Default)]
18pub struct RuntimeMeshPayloads(pub BTreeMap<AssetId, Vec<u8>>);
19
20impl RuntimeMeshPayloads {
21 pub fn get(&self, id: AssetId) -> Option<&[u8]> {
23 self.0.get(&id).map(|b| &b[..])
24 }
25
26 pub fn is_empty(&self) -> bool {
28 self.0.is_empty()
29 }
30}
31
32#[cfg(test)]
33mod tests {
34 use super::*;
35 use alloc::vec;
36
37 #[test]
38 fn a_baked_payload_is_found_by_its_owner_id() {
39 let mut payloads = RuntimeMeshPayloads::default();
40 assert!(payloads.is_empty());
41 payloads.0.insert(AssetId(7), vec![1, 2, 3]);
42 assert_eq!(payloads.get(AssetId(7)), Some(&[1u8, 2, 3][..]));
43 assert_eq!(payloads.get(AssetId(8)), None);
44 assert!(!payloads.is_empty());
45 }
46}