cargo fix
This commit is contained in:
parent
4a833da757
commit
1afb7f4e3d
10 changed files with 29 additions and 47 deletions
6
docs/queries.rs
Normal file
6
docs/queries.rs
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
commands: Commands
|
||||||
|
|
||||||
|
tiles: Query<(&Tile, &TileId, Entity)>,
|
||||||
|
player: Option<Single<&mut player::Player>>,
|
||||||
|
hand_ent: Option<Single<Entity, With<Hand>>>,
|
||||||
|
|
||||||
|
|
@ -1,28 +1,17 @@
|
||||||
#![allow(unused)]
|
|
||||||
|
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
use bevy_spacetimedb::{
|
use bevy_spacetimedb::{
|
||||||
ReadInsertUpdateMessage, ReadStdbConnectedMessage, ReadStdbDisconnectedMessage, StdbPlugin,
|
ReadInsertUpdateMessage, ReadStdbConnectedMessage, ReadStdbDisconnectedMessage, StdbPlugin,
|
||||||
TableMessages,
|
|
||||||
};
|
};
|
||||||
use spacetimedb::Identity;
|
use spacetimedb_sdk::{DbContext, Table};
|
||||||
use spacetimedb_sdk::{DbContext, Table, credentials};
|
|
||||||
|
|
||||||
use crate::stdb::{self, DbConnection, LobbyTableAccess, PlayerTableAccess, RemoteTables};
|
use crate::stdb::{self, DbConnection, LobbyTableAccess, PlayerTableAccess, RemoteTables};
|
||||||
use crate::stdb::{
|
use crate::stdb::{
|
||||||
add_bot, draw_tile, join_or_create_lobby, login_or_add_player, set_ready, shuffle_deal,
|
add_bot, draw_tile, set_ready, shuffle_deal,
|
||||||
skip_call, start_game,
|
skip_call, start_game,
|
||||||
};
|
};
|
||||||
use crate::{
|
use crate::{
|
||||||
SpacetimeDB, creds_store,
|
SpacetimeDB, creds_store,
|
||||||
game::{
|
game::hand::{Drawn, Hand, Pond},
|
||||||
self,
|
|
||||||
hand::{Drawn, Hand, Pond},
|
|
||||||
player::{CurrentPlayer, MainPlayer, Player},
|
|
||||||
round::Wind,
|
|
||||||
wall::Wall,
|
|
||||||
},
|
|
||||||
tile::{self},
|
|
||||||
};
|
};
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
||||||
|
|
@ -34,7 +23,7 @@ pub mod wall;
|
||||||
pub struct Riichi;
|
pub struct Riichi;
|
||||||
impl Plugin for Riichi {
|
impl Plugin for Riichi {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
let mut plugins = StdbPlugin::default()
|
let plugins = StdbPlugin::default()
|
||||||
.with_uri("http://localhost:3000")
|
.with_uri("http://localhost:3000")
|
||||||
.with_module_name("jongline")
|
.with_module_name("jongline")
|
||||||
.with_run_fn(DbConnection::run_threaded)
|
.with_run_fn(DbConnection::run_threaded)
|
||||||
|
|
@ -80,7 +69,7 @@ impl Plugin for Riichi {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn on_connect(stdb: SpacetimeDB, mut messages: ReadStdbConnectedMessage, mut commands: Commands) {
|
fn on_connect(stdb: SpacetimeDB, mut messages: ReadStdbConnectedMessage, _commands: Commands) {
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
info!("you're now jongline");
|
info!("you're now jongline");
|
||||||
|
|
||||||
|
|
@ -94,7 +83,7 @@ fn on_connect(stdb: SpacetimeDB, mut messages: ReadStdbConnectedMessage, mut com
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO how reconnect?
|
// TODO how reconnect?
|
||||||
fn on_disconnect(stdb: SpacetimeDB, mut messages: ReadStdbDisconnectedMessage) {
|
fn on_disconnect(_stdb: SpacetimeDB, mut messages: ReadStdbDisconnectedMessage) {
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
warn!("lost connection: {:#?}", msg.err);
|
warn!("lost connection: {:#?}", msg.err);
|
||||||
}
|
}
|
||||||
|
|
@ -118,26 +107,26 @@ fn subscriptions(stdb: SpacetimeDB) {
|
||||||
pub struct TileId(pub u32);
|
pub struct TileId(pub u32);
|
||||||
|
|
||||||
fn on_player_insert_update(
|
fn on_player_insert_update(
|
||||||
stdb: SpacetimeDB,
|
_stdb: SpacetimeDB,
|
||||||
mut messages: ReadInsertUpdateMessage<stdb::Player>,
|
mut messages: ReadInsertUpdateMessage<stdb::Player>,
|
||||||
|
|
||||||
mut commands: Commands,
|
mut commands: Commands,
|
||||||
|
|
||||||
tiles: Query<(&Tile, &TileId, Entity)>,
|
tiles: Query<(&Tile, &TileId, Entity)>,
|
||||||
mut player: Option<Single<&mut player::Player>>,
|
player: Option<Single<&mut player::Player>>,
|
||||||
mut hand_ent: Option<Single<Entity, With<Hand>>>,
|
hand_ent: Option<Single<Entity, With<Hand>>>,
|
||||||
) {
|
) {
|
||||||
use player::*;
|
use player::*;
|
||||||
|
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
// debug!("player_insert_update msg:\n{:#?}", msg.new);
|
// debug!("player_insert_update msg:\n{:#?}", msg.new);
|
||||||
if let (Some(player), Some(hand_ent)) = (player.as_ref(), hand_ent.as_ref()) {
|
if let (Some(_player), Some(hand_ent)) = (player.as_ref(), hand_ent.as_ref()) {
|
||||||
// if msg.old.as_ref().is_some_and(|m| !m.ready) && msg.new.ready {
|
// if msg.old.as_ref().is_some_and(|m| !m.ready) && msg.new.ready {
|
||||||
// trace!("entered ready");
|
// trace!("entered ready");
|
||||||
// // TODO add a start game button in the future
|
// // TODO add a start game button in the future
|
||||||
// stdb.reducers().start_game().unwrap();
|
// stdb.reducers().start_game().unwrap();
|
||||||
// }
|
// }
|
||||||
let mut tiles: Vec<_> = msg
|
let tiles: Vec<_> = msg
|
||||||
.new
|
.new
|
||||||
.hand
|
.hand
|
||||||
.iter()
|
.iter()
|
||||||
|
|
@ -177,7 +166,7 @@ fn on_lobby_insert_update(
|
||||||
stdb: SpacetimeDB,
|
stdb: SpacetimeDB,
|
||||||
mut messages: ReadInsertUpdateMessage<stdb::Lobby>,
|
mut messages: ReadInsertUpdateMessage<stdb::Lobby>,
|
||||||
|
|
||||||
mut commands: Commands,
|
_commands: Commands,
|
||||||
mut next_gamestate: ResMut<NextState<GameState>>,
|
mut next_gamestate: ResMut<NextState<GameState>>,
|
||||||
mut next_turnstate: ResMut<NextState<TurnState>>,
|
mut next_turnstate: ResMut<NextState<TurnState>>,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
use std::mem::discriminant;
|
|
||||||
|
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
|
|
||||||
use crate::game::{GameState, player::Player, wall::Wall};
|
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
|
|
@ -26,7 +24,7 @@ pub struct Discarded;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/// assumes hand is sorted
|
/// assumes hand is sorted
|
||||||
pub(crate) fn check_wincon(hand: &[Tile; 14], melds: &[&[Tile]]) -> bool {
|
pub(crate) fn check_wincon(_hand: &[Tile; 14], _melds: &[&[Tile]]) -> bool {
|
||||||
// 4x3 + pair
|
// 4x3 + pair
|
||||||
// assume sorted
|
// assume sorted
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,8 @@
|
||||||
use std::rc::Weak;
|
|
||||||
|
|
||||||
use bevy::{platform::collections::HashMap, prelude::*};
|
use bevy::{platform::collections::HashMap, prelude::*};
|
||||||
use strum::{EnumCount, FromRepr};
|
use strum::{EnumCount, FromRepr};
|
||||||
|
|
||||||
use crate::{
|
use crate::EnumNextCycle;
|
||||||
EnumNextCycle,
|
|
||||||
game::{
|
|
||||||
GameState,
|
|
||||||
hand::{Discarded, Drawn, Hand, Pond},
|
|
||||||
player::{CurrentPlayer, Player},
|
|
||||||
wall::Wall,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
use jong_types::TurnState;
|
use jong_types::TurnState;
|
||||||
|
|
||||||
// #[derive(Resource)]
|
// #[derive(Resource)]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
use bevy::{log::LogPlugin, prelude::*};
|
use bevy::{log::LogPlugin, prelude::*};
|
||||||
use bevy_spacetimedb::{StdbConnection, StdbPlugin};
|
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
use tracing::Level;
|
use tracing::Level;
|
||||||
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
|
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
|
||||||
|
|
@ -42,7 +41,6 @@ fn main() {
|
||||||
tui_logger::init_logger(tui_logger::LevelFilter::Trace).unwrap();
|
tui_logger::init_logger(tui_logger::LevelFilter::Trace).unwrap();
|
||||||
tui_logger::set_env_filter_from_string(FILTERSTRING);
|
tui_logger::set_env_filter_from_string(FILTERSTRING);
|
||||||
|
|
||||||
// app.add_plugins(tui::RiichiTui)
|
|
||||||
app.add_plugins(tui::TuiPlugin)
|
app.add_plugins(tui::TuiPlugin)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
use log::{debug, info};
|
use log::debug;
|
||||||
use spacetimedb::{ReducerContext, Table, ViewContext, reducer, view};
|
use spacetimedb::{ReducerContext, Table, reducer};
|
||||||
|
|
||||||
use crate::tables::{player::player, *};
|
use crate::tables::{player::player, *};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use log::{info, trace};
|
use log::info;
|
||||||
use spacetimedb::{ReducerContext, Table, rand::seq::SliceRandom, reducer};
|
use spacetimedb::{ReducerContext, Table, rand::seq::SliceRandom, reducer};
|
||||||
|
|
||||||
use crate::tables::{player::player, *};
|
use crate::tables::{player::player, *};
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
use log::{debug, trace};
|
use log::debug;
|
||||||
use spacetimedb::{ReducerContext, Table, rand::seq::SliceRandom, reducer};
|
use spacetimedb::{ReducerContext, Table, rand::seq::SliceRandom, reducer};
|
||||||
|
|
||||||
use super::hand::deal_hands;
|
use super::hand::deal_hands;
|
||||||
use crate::tables::{player::player, *};
|
use crate::tables::*;
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
||||||
#[reducer]
|
#[reducer]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
use log::{debug, info, trace};
|
use log::{debug, trace};
|
||||||
use spacetimedb::{ReducerContext, Table, ViewContext, reducer, view};
|
use spacetimedb::{ReducerContext, Table, reducer};
|
||||||
|
|
||||||
use crate::tables::{player::player, *};
|
use crate::tables::{player::player, *};
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
@ -80,7 +80,7 @@ pub fn discard_tile(ctx: &ReducerContext, tile_id: u32) -> Result<(), String> {
|
||||||
pub fn skip_call(ctx: &ReducerContext) {
|
pub fn skip_call(ctx: &ReducerContext) {
|
||||||
trace!("skip_call");
|
trace!("skip_call");
|
||||||
|
|
||||||
let mut player = ctx.db.player().identity().find(ctx.sender).unwrap();
|
let player = ctx.db.player().identity().find(ctx.sender).unwrap();
|
||||||
let mut lobby = ctx.db.lobby().id().find(player.lobby_id).unwrap();
|
let mut lobby = ctx.db.lobby().id().find(player.lobby_id).unwrap();
|
||||||
|
|
||||||
lobby.turn_state = TurnState::Tsumo;
|
lobby.turn_state = TurnState::Tsumo;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use spacetimedb::{Filter, SpacetimeType, client_visibility_filter, table};
|
use spacetimedb::table;
|
||||||
|
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue