small changes
This commit is contained in:
parent
d183f5d993
commit
50fd406dbf
6 changed files with 46 additions and 45 deletions
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -95,22 +95,22 @@ pub(crate) fn render(
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub(crate) fn render_arg_check(
|
||||
mut commands: Commands,
|
||||
mut tui: ResMut<RatatuiContext>,
|
||||
// pub(crate) fn render_arg_check(
|
||||
// mut commands: Commands,
|
||||
// mut tui: ResMut<RatatuiContext>,
|
||||
|
||||
hovered: Query<Entity, With<Hovered>>,
|
||||
layouts: Res<HandLayouts>,
|
||||
// hovered: Query<Entity, With<Hovered>>,
|
||||
// layouts: Res<HandLayouts>,
|
||||
|
||||
tiles: Query<&jong_types::Tile>,
|
||||
// main_player: Single<(&Player, Entity, &Wind), With<MainPlayer>>,
|
||||
curr_player: Single<Entity, With<CurrentPlayer>>,
|
||||
players: Query<(&Player, Entity, &Children)>,
|
||||
hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
||||
// drawn_tile: Single<Entity, With<Drawn>>,
|
||||
) {
|
||||
// trace!("arg!");
|
||||
}
|
||||
// tiles: Query<&jong_types::Tile>,
|
||||
// // main_player: Single<(&Player, Entity, &Wind), With<MainPlayer>>,
|
||||
// curr_player: Single<Entity, With<CurrentPlayer>>,
|
||||
// players: Query<(&Player, Entity, &Children)>,
|
||||
// hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
||||
// // drawn_tile: Single<Entity, With<Drawn>>,
|
||||
// ) {
|
||||
// // 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<HandLayouts>,
|
||||
|
||||
tiles: Query<&jong_types::Tile>,
|
||||
main_player: Single<(&Player, Entity, &Wind), With<MainPlayer>>,
|
||||
main_player: Single<(&Player, Entity /* , &Wind */), With<MainPlayer>>,
|
||||
curr_player: Single<Entity, With<CurrentPlayer>>,
|
||||
players: Query<(&Player, Entity, &Children)>,
|
||||
hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
||||
drawn_tile: Single<Entity, With<Drawn>>,
|
||||
// drawn_tile: Single<Entity, With<Drawn>>,
|
||||
) -> 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) {
|
||||
|
|
|
|||
4
justfile
4
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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue