pub struct Template {
pub id: String,
pub name: String,
pub version: Version,
pub engine: VersionReq,
pub license: String,
pub format_version: u32,
pub questions: Vec<Question>,
pub short_names: BTreeMap<String, Answers>,
pub parts: Vec<Part>,
pub files: Files,
pub origin: String,
}Expand description
A template: what template.ron says, with the files of its folder.
Fields§
§id: StringIts id (shuyi-default).
name: StringHow people call it.
version: VersionIts own version.
engine: VersionReqThe engine versions it makes games for (>=0.1, <0.2).
license: StringIts license, an SPDX expression: the license of the files it writes.
format_version: u32The template format it is written in: FORMAT_VERSION.
questions: Vec<Question>Its own questions, for what a game picks that no concern of the engine’s asks.
short_names: BTreeMap<String, Answers>Short names for sets of answers (grid), which new --template
takes.
parts: Vec<Part>Its parts, in the order their files are written and merged.
files: FilesEvery file of its folder but template.ron.
origin: StringWhere it was read from, as errors name it.
Implementations§
Source§impl Template
impl Template
Sourcepub fn load(dir: &Path) -> Result<Self, LoadError>
pub fn load(dir: &Path) -> Result<Self, LoadError>
The template in folder dir: its template.ron and every file
under it, read and checked against this engine (ENGINE_VERSION).
Sourcepub fn read(
origin: &str,
files: Files,
engine: &Version,
) -> Result<Self, LoadError>
pub fn read( origin: &str, files: Files, engine: &Version, ) -> Result<Self, LoadError>
The template whose folder (origin, as errors name it) holds
files, its template.ron among them, read and checked for an
engine of version engine.
Sourcepub fn check_answers(&self, answers: &Answers) -> Result<(), String>
pub fn check_answers(&self, answers: &Answers) -> Result<(), String>
Whether answers name its questions and their answers, as many as
each takes.
Sourcepub fn short_name(&self, name: &str) -> Option<&Answers>
pub fn short_name(&self, name: &str) -> Option<&Answers>
The answers its short name name stands for.
Sourcepub fn with_defaults(&self, answers: &Answers) -> Answers
pub fn with_defaults(&self, answers: &Answers) -> Answers
The answers picked: answers, and each question they leave out at
its default.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Template
impl<'de> Deserialize<'de> for Template
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Template
impl StructuralPartialEq for Template
Auto Trait Implementations§
impl Freeze for Template
impl RefUnwindSafe for Template
impl Send for Template
impl Sync for Template
impl Unpin for Template
impl UnsafeUnpin for Template
impl UnwindSafe for Template
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.