#[non_exhaustive]pub struct AppInfo {
pub name: &'static str,
pub id: &'static str,
pub version: &'static str,
pub publisher: &'static str,
pub storage: &'static str,
pub build: u32,
pub window_icon: Option<WindowIcon>,
}Expand description
Who a game is. Build it with AppInfo::new and the with_ setters:
a struct literal doesn’t compile outside this crate, so a new field
never breaks a game (ADR-0039).
let app = shuyi_platform::AppInfo {
name: "A game",
id: "com.example.a-game",
version: "0.1.0",
publisher: "",
storage: "com.example.a-game",
build: 1,
window_icon: None,
};Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: &'static strThe name players see: the window’s title and the loading card’s line.
id: &'static strIts reverse-DNS id, unique to the game (com.example.moon-garden).
version: &'static strIts version, MAJOR.MINOR.PATCH (semver).
publisher: &'static strWho publishes it; empty if no one is named.
storage: &'static strThe name its saves are kept under: the folder in the OS’s data
folder on native, the prefix of every localStorage key on the
web. Never change it after a release, or every player’s saves and
settings are lost.
build: u32A number that only grows from one build handed out to the next, where a target asks for one beside the version.
window_icon: Option<WindowIcon>The window’s icon, where a backend shows one; None for none.
shuyi app-info makes it from shuyi.ron’s app.icon.
Implementations§
Source§impl AppInfo
impl AppInfo
Sourcepub const fn new(
name: &'static str,
id: &'static str,
version: &'static str,
) -> AppInfo
pub const fn new( name: &'static str, id: &'static str, version: &'static str, ) -> AppInfo
The game called name, with the id id, at version version: its
saves kept under its id, at build 1, with no publisher named.
Sourcepub const fn with_storage(self, storage: &'static str) -> AppInfo
pub const fn with_storage(self, storage: &'static str) -> AppInfo
The game with its saves kept under storage
(storage).
Sourcepub const fn with_build(self, build: u32) -> AppInfo
pub const fn with_build(self, build: u32) -> AppInfo
The game at build build (build).
Sourcepub const fn with_publisher(self, publisher: &'static str) -> AppInfo
pub const fn with_publisher(self, publisher: &'static str) -> AppInfo
The game published by publisher.
Sourcepub const fn with_window_icon(self, icon: Option<WindowIcon>) -> AppInfo
pub const fn with_window_icon(self, icon: Option<WindowIcon>) -> AppInfo
The game with icon as its window’s icon (None for none,
window_icon).
Trait Implementations§
impl Copy for AppInfo
impl Eq for AppInfo
impl StructuralPartialEq for AppInfo
Auto Trait Implementations§
impl Freeze for AppInfo
impl RefUnwindSafe for AppInfo
impl Send for AppInfo
impl Sync for AppInfo
impl Unpin for AppInfo
impl UnsafeUnpin for AppInfo
impl UnwindSafe for AppInfo
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<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§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.