fish_lib/models/item/properties/
usage_count.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
4pub struct UsageComponent {
5    #[serde(default)]
6    times_used: u64,
7}
8
9impl UsageComponent {
10    pub fn new(times_used: u64) -> Self {
11        Self { times_used }
12    }
13
14    pub fn get_times_used(&self) -> u64 {
15        self.times_used
16    }
17
18    // Events
19    pub fn on_use(&mut self, times: u64) {
20        self.times_used = self.times_used.saturating_add(times);
21    }
22}