pub struct GameStateV1 {
pub cuques: f64,
pub total_clicks: u64,
pub lifetime_cuques: f64,
pub best_fps: f64,
pub golden_caught: u64,
pub fingerers_owned: HashMap<String, u32>,
pub achievements_earned: HashSet<String>,
pub upgrades_earned: HashSet<String>,
pub prestige: u64,
pub total_play_ticks: u64,
pub buffs: Vec<BuffV1>,
}Expand description
V1 game-state snapshot. Holds only the persisted fields — everything
#[serde(skip)] on the live GameState is ephemeral and gets seeded
by migrate_runtime() after the chain finishes.
Fields§
§cuques: f64§total_clicks: u64§lifetime_cuques: f64§best_fps: f64§golden_caught: u64§fingerers_owned: HashMap<String, u32>§achievements_earned: HashSet<String>§upgrades_earned: HashSet<String>§prestige: u64§total_play_ticks: u64§buffs: Vec<BuffV1>Implementations§
Source§impl GameStateV1
impl GameStateV1
Sourcepub fn into_current(self) -> GameState
pub fn into_current(self) -> GameState
Convenience shortcut for tests and tooling: walk this V1 snapshot
through the migration chain to a live GameState. Folds through
every intermediate version. Production code goes through
crate::save::load_from_str instead, which also runs
migrate_runtime().
Trait Implementations§
Source§impl Clone for GameStateV1
impl Clone for GameStateV1
Source§fn clone(&self) -> GameStateV1
fn clone(&self) -> GameStateV1
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for GameStateV1
impl<'de> Deserialize<'de> for GameStateV1
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<GameStateV1> for GameStateV2
V1 → V2 conversion. Shape changes:
impl From<GameStateV1> for GameStateV2
V1 → V2 conversion. Shape changes:
fingerers_owned: HashMap<String, u32>→fingerers_state: HashMap<String, FingererStateV2 { count, modifiers }>BuffV1::FingererBoostis absorbed into per-fingerer modifiers withsource: PurpleCoin,effects: [MulFactor(mult)], andduration: Ticks(ticks_remaining). Thecreated_at_tickfield is reconstructed astotal_play_ticks - elapsed, where elapsed isinitial_ticks - ticks_remaining(saturating).BuffV1::ClickFrenzypasses through asBuffV2::ClickFrenzy.- Adds
version: 2.
Source§fn from(v1: GameStateV1) -> Self
fn from(v1: GameStateV1) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for GameStateV1
impl RefUnwindSafe for GameStateV1
impl Send for GameStateV1
impl Sync for GameStateV1
impl Unpin for GameStateV1
impl UnsafeUnpin for GameStateV1
impl UnwindSafe for GameStateV1
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more