use std::path::{Path, PathBuf};
pub struct Places {
pub data: PathBuf,
pub litany: PathBuf,
pub names: PathBuf,
pub state: PathBuf,
pub walls: PathBuf,
pub wire: PathBuf,
}
impl Places {
pub fn under(root: &Path) -> Places {
let data = root.join("yog");
let layout = crate::world::layout_under(&data);
Places {
litany: layout.litany.clone(),
state: layout.state.join("yog"),
names: crate::binding::names_root(&data),
walls: crate::world::wall::walls_dir(&layout.root),
wire: data.join(crate::wire::material::DIR),
data,
}
}
pub fn workspace(&self, name: &str) -> PathBuf {
self.names.join(name)
}
}