view_hand insert handling

This commit is contained in:
Tao Tien 2026-02-28 18:41:42 -08:00
parent edd389c787
commit 151f7a3489
3 changed files with 33 additions and 34 deletions

View file

@ -25,7 +25,7 @@ pub fn advance_game_private(ctx: &ReducerContext, mut game_timer: GameTimer) ->
// TODO this, or allow player/debug to call this?
if let Some(mut lobby) = ctx.db.lobby().id().find(game_timer.lobby_id) {
trace!("running schedule for lobby {}", lobby.id);
// trace!("running schedule for lobby {}", lobby.id);
match lobby.game_state {
GameState::Setup => {
// TODO reduce interval beforehand so we don't wait a second?
@ -50,7 +50,7 @@ pub fn advance_game_private(ctx: &ReducerContext, mut game_timer: GameTimer) ->
GameState::Deal => {
// TODO reduce interval beforehand so this can animate?
// TODO change loop to be per interval somehow?
trace!("deal hands");
// trace!("deal hands");
let mut wall = ctx.db.wall().lobby_id().find(lobby.id).unwrap();
for pob in &lobby.players {
let mut tiles = wall.tiles.split_off(wall.tiles.len() - 13);
@ -83,14 +83,14 @@ pub fn advance_game_private(ctx: &ReducerContext, mut game_timer: GameTimer) ->
}
}
lobby.game_state = jong_types::states::GameState::Play;
trace!("dealt hands");
// trace!("dealt hands");
}
GameState::Play => {
trace!("in play");
// trace!("in play");
let curr_player = lobby.players.get(lobby.current_idx as usize).unwrap();
match curr_player {
PlayerOrBot::Player { id: player_id } => {
trace!("current player is {player_id}");
// trace!("current player is {player_id}");
let mut clock = ctx.db.player_clock().player_id().find(player_id).unwrap();
let mut hand = ctx.db.player_hand().player_id().find(player_id).unwrap();
match hand.turn_state {
@ -109,7 +109,7 @@ pub fn advance_game_private(ctx: &ReducerContext, mut game_timer: GameTimer) ->
}
}
TurnState::Tsumo => {
trace!("wait for discard");
// trace!("wait for discard");
if clock.tick() {
ctx.db.player_clock().id().update(clock);
} else {