Add basic currency support and plumb multiplayer rewards screen #70

This commit is contained in:
NG (Graham) committed 2025-12-28 18:13:14 -05:00
1 parent 5e05cbdb59
commit 4ec64a9cd9
26 files changed
+802 -48

No files matched your search

+1
View File
@@ -9,6 +9,7 @@ pub mod sanction;
pub mod multiplayer_game;
pub mod multiplayer_game_player;
pub mod game_event;
pub mod multiplayer_game_score;
pub fn parse_int_csv(s: &str) -> Vec<u32> {
s.split(',').filter_map(|i_as_s| {
@@ -31,6 +31,8 @@ pub enum Relation {
to = "super::user::Column::Id"
)]
User,
#[sea_orm(has_one = "super::multiplayer_game_score::Entity")]
Score,
}
impl Related<super::multiplayer_game::Entity> for Entity {
@@ -45,6 +47,12 @@ impl Related<super::user::Entity> for Entity {
}
}
impl Related<super::multiplayer_game_score::Entity> for Entity {
fn to() -> RelationDef {
Relation::Score.def()
}
}
impl ActiveModelBehavior for ActiveModel {}
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum)]
@@ -0,0 +1,39 @@
use sea_orm::entity::prelude::*;
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "scores")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: i32,
pub player_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub is_claimed: bool,
pub kills: i32,
pub deaths: i32,
pub assists: i32,
pub heal_assists: i32,
pub healed: i32,
pub received_healed: i32,
pub damaged: i32,
pub received_damaged: i32,
pub crystals: i32,
pub total: i32,
}
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {
#[sea_orm(
belongs_to = "super::multiplayer_game_player::Entity",
from = "Column::PlayerId",
to = "super::multiplayer_game_player::Column::Id"
)]
Player,
}
impl Related<super::multiplayer_game_player::Entity> for Entity {
fn to() -> RelationDef {
Relation::Player.def()
}
}
impl ActiveModelBehavior for ActiveModel {}