#[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,
) -> Self
pub const fn new( name: &'static str, id: &'static str, version: &'static str, ) -> Self
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) -> Self
pub const fn with_storage(self, storage: &'static str) -> Self
The game with its saves kept under storage
(storage).
Sourcepub const fn with_build(self, build: u32) -> Self
pub const fn with_build(self, build: u32) -> Self
The game at build build (build).
Sourcepub const fn with_publisher(self, publisher: &'static str) -> Self
pub const fn with_publisher(self, publisher: &'static str) -> Self
The game published by publisher.
Sourcepub const fn with_window_icon(self, icon: Option<WindowIcon>) -> Self
pub const fn with_window_icon(self, icon: Option<WindowIcon>) -> Self
The game with icon as its window’s icon (None for none,
window_icon).