pub struct Book {Show 13 fields
pub id: String,
pub name: String,
pub subtitle: Option<String>,
pub version: u32,
pub landing_text: String,
pub nameplate_color: String,
pub accent: String,
pub book_texture: String,
pub categories: Vec<BookCategory>,
pub entries: Vec<BookEntry>,
pub i18n: bool,
pub layouts: Vec<RecipeLayout>,
pub page_types: Vec<PageType>,
}Expand description
A guide book: what a .ybook file holds.
Fields§
§id: StringThe item that opens it (the mod’s namespace if it has none).
name: String§subtitle: Option<String>The nameplate’s second line when version is 0.
version: u32The book’s edition: its nameplate says “1st Edition”, “2nd Edition”…
(0: the subtitle instead).
landing_text: String§nameplate_color: StringThe nameplate’s text color (rrggbb).
accent: StringThe color {accent|terms} are shown in (#rrggbb).
book_texture: StringIts sheet: ns:textures/x.png, or Yog’s (yog_book::BOOK_PNG shows its layout).
categories: Vec<BookCategory>§entries: Vec<BookEntry>§i18n: boolIts texts are translation keys, shown in the game’s language (the
build turns it on when a text is a .yres text or a name).
layouts: Vec<RecipeLayout>Recipe layouts of its own; the build adds the mod’s (.ydef recipe kinds and layouts).
page_types: Vec<PageType>The mods’ own kinds of page its pages use; the build adds them
(.yui components with book_page).
Implementations§
Source§impl Book
impl Book
Sourcepub fn localized(&self, tr: impl Fn(&str) -> String) -> Book
pub fn localized(&self, tr: impl Fn(&str) -> String) -> Book
This book with its texts run through tr — names, descriptions,
landing text and every page’s title/text. With Book::i18n on,
the texts are translation keys and the renderer shows
localized(<current language>) (see yog_book::BookRenderer::set_translator).
Trait Implementations§
Source§impl Schema for Book
impl Schema for Book
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<Book>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<Book>
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Book>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Book>
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Book>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Book>
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
Auto Trait Implementations§
impl Freeze for Book
impl RefUnwindSafe for Book
impl Send for Book
impl Sync for Book
impl Unpin for Book
impl UnsafeUnpin for Book
impl UnwindSafe for Book
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,
Source§impl<T> Message for Twhere
T: Schema,
impl<T> Message for Twhere
T: Schema,
Source§fn from_bytes(bytes: &[u8]) -> Option<Self>
fn from_bytes(bytes: &[u8]) -> Option<Self>
None if it isn’t one.Source§fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
f on the payload, packed in this thread’s reused buffers: nothing
allocated once they’ve grown to the thread’s messages.