jong/spacetimedb/src/tables.rs
2026-02-15 07:08:29 -08:00

41 lines
735 B
Rust

use spacetimedb::{Filter, SpacetimeType, client_visibility_filter, table};
use jong_types::*;
pub mod player;
pub use player::*;
#[derive(Debug, Clone)]
#[table(name = lobby, public)]
pub struct Lobby {
#[primary_key]
#[auto_inc]
pub id: u32,
#[unique]
pub host_player_id: u32,
pub players: Vec<player::PlayerOrBot>,
pub dealer_idx: u8,
pub current_idx: u8,
pub game_state: GameState,
pub turn_state: TurnState,
}
#[table(name = wall)]
pub struct DbWall {
#[primary_key]
pub lobby_id: u32,
pub tiles: Vec<DbTile>,
}
#[table(name = tile)]
#[derive(Debug, Clone, Copy)]
pub struct DbTile {
#[primary_key]
#[auto_inc]
pub id: u32,
pub tile: jong_types::Tile,
}