From 50fd406dbfe4f806d7238f7e1e55b5c1259a8759 Mon Sep 17 00:00:00 2001 From: Tao Tien <29749622+taotien@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:38:13 -0800 Subject: [PATCH] small changes --- jong/src/game.rs | 2 +- jong/src/tui.rs | 2 +- jong/src/tui/render.rs | 76 ++++++++++++++++++------------------ justfile | 4 +- spacetimedb/src/game.rs | 2 +- spacetimedb/src/game/wall.rs | 5 ++- 6 files changed, 46 insertions(+), 45 deletions(-) diff --git a/jong/src/game.rs b/jong/src/game.rs index cb4d61f..438627a 100644 --- a/jong/src/game.rs +++ b/jong/src/game.rs @@ -190,7 +190,7 @@ fn on_lobby_insert_update( trace!("game entered none"); } stdb::GameState::Lobby => { - trace!("game in lobby"); + trace!("game entered lobby"); if !player.ready { for _ in 0..3 { stdb.reducers().add_bot(player.lobby_id).unwrap(); diff --git a/jong/src/tui.rs b/jong/src/tui.rs index 3c2bade..821e3a1 100644 --- a/jong/src/tui.rs +++ b/jong/src/tui.rs @@ -86,7 +86,7 @@ impl Plugin for TuiPlugin { .add_systems( Update, ( - (render::render_hands, render::render_arg_check).run_if(in_state(GameState::Play)), + render::render_hands.run_if(in_state(GameState::Play)), render::render, ) .chain() diff --git a/jong/src/tui/render.rs b/jong/src/tui/render.rs index 42a0fd2..f5e919b 100644 --- a/jong/src/tui/render.rs +++ b/jong/src/tui/render.rs @@ -95,22 +95,22 @@ pub(crate) fn render( Ok(()) } -pub(crate) fn render_arg_check( - mut commands: Commands, - mut tui: ResMut, +// pub(crate) fn render_arg_check( +// mut commands: Commands, +// mut tui: ResMut, - hovered: Query>, - layouts: Res, +// hovered: Query>, +// layouts: Res, - tiles: Query<&jong_types::Tile>, - // main_player: Single<(&Player, Entity, &Wind), With>, - curr_player: Single>, - players: Query<(&Player, Entity, &Children)>, - hands: Query<(&Children, Entity), (With, Without)>, - // drawn_tile: Single>, -) { - // trace!("arg!"); -} +// tiles: Query<&jong_types::Tile>, +// // main_player: Single<(&Player, Entity, &Wind), With>, +// curr_player: Single>, +// players: Query<(&Player, Entity, &Children)>, +// hands: Query<(&Children, Entity), (With, Without)>, +// // drawn_tile: Single>, +// ) { +// // trace!("arg!"); +// } #[allow(clippy::too_many_arguments, clippy::type_complexity)] pub(crate) fn render_hands( @@ -121,14 +121,12 @@ pub(crate) fn render_hands( layouts: Res, tiles: Query<&jong_types::Tile>, - main_player: Single<(&Player, Entity, &Wind), With>, + main_player: Single<(&Player, Entity /* , &Wind */), With>, curr_player: Single>, players: Query<(&Player, Entity, &Children)>, hands: Query<(&Children, Entity), (With, Without)>, - drawn_tile: Single>, + // drawn_tile: Single>, ) -> Result { - trace!("render_hands"); - let mut frame = tui.get_frame(); debug_blocks(*layouts, &mut frame); @@ -194,27 +192,27 @@ pub(crate) fn render_hands( } // tsumo tile - if this_drawer { - // trace!("this_drawer"); - let mut area = drawn_area.resize(Size { - width: 5, - height: 4, - }); - area = area.offset(Offset { x: 2, y: 0 }); - let hovered = hovered.contains(*drawn_tile); - let widget = render_tile(tiles.get(*drawn_tile)?, hovered); - if hovered { - area = area.offset(Offset { x: 0, y: -1 }); - let mut hitbox = area.as_size(); - hitbox.height += 1; - commands.entity(*drawn_tile).insert(PickRegion { - area: area.resize(hitbox), - }); - } else { - commands.entity(*drawn_tile).insert(PickRegion { area }); - } - frame.render_widget(widget, area); - } + // if this_drawer { + // // trace!("this_drawer"); + // let mut area = drawn_area.resize(Size { + // width: 5, + // height: 4, + // }); + // area = area.offset(Offset { x: 2, y: 0 }); + // let hovered = hovered.contains(*drawn_tile); + // let widget = render_tile(tiles.get(*drawn_tile)?, hovered); + // if hovered { + // area = area.offset(Offset { x: 0, y: -1 }); + // let mut hitbox = area.as_size(); + // hitbox.height += 1; + // commands.entity(*drawn_tile).insert(PickRegion { + // area: area.resize(hitbox), + // }); + // } else { + // commands.entity(*drawn_tile).insert(PickRegion { area }); + // } + // frame.render_widget(widget, area); + // } // TODO draw melds } else { // match mainplayer.1.relate(wind) { diff --git a/justfile b/justfile index 8962781..0d4b9f7 100644 --- a/justfile +++ b/justfile @@ -8,8 +8,8 @@ default: just --list run-tui: - # mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_generate_bindings} | to yaml)" - # sleep 3sec + mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_generate_bindings} | to yaml)" + sleep 3sec cargo run -- run-tui update: diff --git a/spacetimedb/src/game.rs b/spacetimedb/src/game.rs index 37a6a69..5ade52f 100644 --- a/spacetimedb/src/game.rs +++ b/spacetimedb/src/game.rs @@ -80,7 +80,7 @@ pub fn start_game(ctx: &ReducerContext) { PlayerOrBot::Bot { id } => ctx.db.bot().id().find(id).is_some(), }) { - lobby.game_state = GameState::Deal; + lobby.game_state = GameState::Setup; ctx.db.lobby().id().update(lobby); } } diff --git a/spacetimedb/src/game/wall.rs b/spacetimedb/src/game/wall.rs index f33c898..7096559 100644 --- a/spacetimedb/src/game/wall.rs +++ b/spacetimedb/src/game/wall.rs @@ -10,7 +10,10 @@ pub fn shuffle_deal(ctx: &ReducerContext, lobby_id: u32) { debug!("lobby_id: {lobby_id}"); let mut lobby = ctx.db.lobby().id().find(lobby_id).unwrap(); - if lobby.game_state == GameState::Deal { + if lobby.game_state == GameState::Setup { + lobby.game_state = GameState::Deal; + lobby = ctx.db.lobby().id().update(lobby); + let tiles = new_shuffled_wall(ctx); ctx.db.wall().insert(Wall { // id: 0,