oml-game 0.40.2-alpha

Game foundation extracted from Fiiish-RS to remove boilerplate for future procjects.
Documentation
use crate::system::filesystem::Filesystem;
use crate::system::filesystem_stream::FilesystemStream;
use crate::system::filesystem_stream_memory::FilesystemStreamMemory;

pub struct FilesystemMemory {}

impl FilesystemMemory {
	pub fn new() -> Self {
		Self {}
	}
	pub fn open_from_data(&mut self, name: &str, data: &Vec<u8>) -> Box<dyn FilesystemStream> {
		let stream = FilesystemStreamMemory::open(name, data);

		Box::new(stream)
	}
}

impl Filesystem for FilesystemMemory {
	fn open(&mut self, name: &str) -> Box<dyn FilesystemStream> {
		let stream = FilesystemStreamMemory::open(name, &Vec::new());

		Box::new(stream)
	}

	fn name(&self) -> &str {
		""
	}

	fn filesystem_type(&self) -> &str {
		"Memory"
	}
}