Struct Stats

Source
pub struct Stats {
    pub minutes: [u32; 4],
    pub longest_play: [u32; 4],
    pub launches: [u32; 4],
    pub installed_on: (u16, u8, u8),
    pub updated_on: (u16, u8, u8),
    pub launched_on: (u16, u8, u8),
    pub xp: u16,
    pub badges: Box<[BadgeProgress]>,
    pub scores: Box<[BoardScores]>,
}
Expand description

Player-specific app stats, like playtime.

Fields§

§minutes: [u32; 4]

How many minutes the app was played for every player count from 1 to 4+.

Games with more than 4 players are recorded as 4 players. So, the last index (3) is “4+ players”.

The play time is calculated based on the number of the calls to the update callback. So, the number is an approximation and may drift a bit.

Plays shorter than 1 minute are not recorded.

§longest_play: [u32; 4]

How many minutes the app was played the longest for every player count from 1 to 4+.

Use this metric carefully. The runtime might or might not account for players pausing the app for days instead of exiting it. Which means, multiple play sessions may be counted as one.

§launches: [u32; 4]

How many times the app was launched for every player count from 1 to 4+.

§installed_on: (u16, u8, u8)

The date when the app was installed.

The date is a tuple of year, month, and day of month.

§updated_on: (u16, u8, u8)

The date when the app was updated.

The date is a tuple of year, month, and day of month.

§launched_on: (u16, u8, u8)

The date when the app was launched last time.

The date is a tuple of year, month, and day of month.

§xp: u16

How much XP the player has earned in the game.

Cannot be more than 1000.

§badges: Box<[BadgeProgress]>

The progress of earning each badge.

The len is equal to the number of badges that the app has. See crate::Badges.

§scores: Box<[BoardScores]>

The high scores

Trait Implementations§

Source§

impl Clone for Stats

Source§

fn clone(&self) -> Stats

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Stats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Stats

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Encode<'_> for Stats

Source§

fn decode(s: &'a [u8]) -> Result<Self, Error>

Load object from bytes generated by [Encode::encode]. Read more
Source§

fn encode_vec(&self) -> Result<Vec<u8>, Error>

Encode the object as a Vec. Read more
Source§

fn encode_buf<'b>(&self, buf: &'b mut [u8]) -> Result<&'b mut [u8], Error>

Encode the object using the buffer. Read more
Source§

fn size(&self) -> usize

Calculate the buffer size required to encode the object.
Source§

impl PartialEq for Stats

Source§

fn eq(&self, other: &Stats) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Stats

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Stats

Auto Trait Implementations§

§

impl Freeze for Stats

§

impl RefUnwindSafe for Stats

§

impl Send for Stats

§

impl Sync for Stats

§

impl Unpin for Stats

§

impl UnwindSafe for Stats

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,