2025-03-01 16:22:57 -05:00
|
|
|
use polariton::operation::{Typed, Dict, Arr};
|
2025-03-08 17:16:02 -05:00
|
|
|
use polariton::serdes::TypePrefix;
|
2025-03-01 16:22:57 -05:00
|
|
|
|
|
|
|
|
pub struct PlayerRankStaticInfo {
|
|
|
|
|
pub sub_rank_thresholds: Vec<i32>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl PlayerRankStaticInfo {
|
|
|
|
|
pub fn as_transmissible(&self) -> Typed {
|
|
|
|
|
Typed::Dict(Dict {
|
2025-03-08 17:16:02 -05:00
|
|
|
key_ty: TypePrefix::Str,
|
|
|
|
|
val_ty: TypePrefix::Any,
|
2025-03-01 16:22:57 -05:00
|
|
|
items: vec![
|
|
|
|
|
(Typed::Str("subRankCount".into()), Typed::Int(self.sub_rank_thresholds.len() as i32)),
|
|
|
|
|
(Typed::Str("subRankThresholds".into()), Typed::Arr(Arr {
|
2025-03-08 17:16:02 -05:00
|
|
|
ty: TypePrefix::Int, // int
|
2025-03-01 16:22:57 -05:00
|
|
|
items: self.sub_rank_thresholds.iter().map(|x| Typed::Int(*x)).collect(),
|
|
|
|
|
})),
|
|
|
|
|
],
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|