oxygengine_core/assets/protocols/
text.rs

1use crate::assets::protocol::{AssetLoadResult, AssetProtocol};
2use std::str::from_utf8;
3
4pub struct TextAsset(String);
5
6impl TextAsset {
7    pub fn get(&self) -> &str {
8        &self.0
9    }
10}
11
12pub struct TextAssetProtocol;
13
14impl AssetProtocol for TextAssetProtocol {
15    fn name(&self) -> &str {
16        "txt"
17    }
18
19    fn on_load(&mut self, data: Vec<u8>) -> AssetLoadResult {
20        let data = from_utf8(&data).unwrap().to_owned();
21        AssetLoadResult::Data(Box::new(TextAsset(data)))
22    }
23}