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");
|
trace!("game entered none");
|
||||||
}
|
}
|
||||||
stdb::GameState::Lobby => {
|
stdb::GameState::Lobby => {
|
||||||
trace!("game in lobby");
|
trace!("game entered lobby");
|
||||||
if !player.ready {
|
if !player.ready {
|
||||||
for _ in 0..3 {
|
for _ in 0..3 {
|
||||||
stdb.reducers().add_bot(player.lobby_id).unwrap();
|
stdb.reducers().add_bot(player.lobby_id).unwrap();
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ impl Plugin for TuiPlugin {
|
||||||
.add_systems(
|
.add_systems(
|
||||||
Update,
|
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,
|
render::render,
|
||||||
)
|
)
|
||||||
.chain()
|
.chain()
|
||||||
|
|
|
||||||
|
|
@ -95,22 +95,22 @@ pub(crate) fn render(
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn render_arg_check(
|
// pub(crate) fn render_arg_check(
|
||||||
mut commands: Commands,
|
// mut commands: Commands,
|
||||||
mut tui: ResMut<RatatuiContext>,
|
// mut tui: ResMut<RatatuiContext>,
|
||||||
|
|
||||||
hovered: Query<Entity, With<Hovered>>,
|
// hovered: Query<Entity, With<Hovered>>,
|
||||||
layouts: Res<HandLayouts>,
|
// layouts: Res<HandLayouts>,
|
||||||
|
|
||||||
tiles: Query<&jong_types::Tile>,
|
// 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>>,
|
// curr_player: Single<Entity, With<CurrentPlayer>>,
|
||||||
players: Query<(&Player, Entity, &Children)>,
|
// players: Query<(&Player, Entity, &Children)>,
|
||||||
hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
// hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
||||||
// drawn_tile: Single<Entity, With<Drawn>>,
|
// // drawn_tile: Single<Entity, With<Drawn>>,
|
||||||
) {
|
// ) {
|
||||||
// trace!("arg!");
|
// // trace!("arg!");
|
||||||
}
|
// }
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments, clippy::type_complexity)]
|
#[allow(clippy::too_many_arguments, clippy::type_complexity)]
|
||||||
pub(crate) fn render_hands(
|
pub(crate) fn render_hands(
|
||||||
|
|
@ -121,14 +121,12 @@ pub(crate) fn render_hands(
|
||||||
layouts: Res<HandLayouts>,
|
layouts: Res<HandLayouts>,
|
||||||
|
|
||||||
tiles: Query<&jong_types::Tile>,
|
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>>,
|
curr_player: Single<Entity, With<CurrentPlayer>>,
|
||||||
players: Query<(&Player, Entity, &Children)>,
|
players: Query<(&Player, Entity, &Children)>,
|
||||||
hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
hands: Query<(&Children, Entity), (With<Hand>, Without<Player>)>,
|
||||||
drawn_tile: Single<Entity, With<Drawn>>,
|
// drawn_tile: Single<Entity, With<Drawn>>,
|
||||||
) -> Result {
|
) -> Result {
|
||||||
trace!("render_hands");
|
|
||||||
|
|
||||||
let mut frame = tui.get_frame();
|
let mut frame = tui.get_frame();
|
||||||
debug_blocks(*layouts, &mut frame);
|
debug_blocks(*layouts, &mut frame);
|
||||||
|
|
||||||
|
|
@ -194,27 +192,27 @@ pub(crate) fn render_hands(
|
||||||
}
|
}
|
||||||
|
|
||||||
// tsumo tile
|
// tsumo tile
|
||||||
if this_drawer {
|
// if this_drawer {
|
||||||
// trace!("this_drawer");
|
// // trace!("this_drawer");
|
||||||
let mut area = drawn_area.resize(Size {
|
// let mut area = drawn_area.resize(Size {
|
||||||
width: 5,
|
// width: 5,
|
||||||
height: 4,
|
// height: 4,
|
||||||
});
|
// });
|
||||||
area = area.offset(Offset { x: 2, y: 0 });
|
// area = area.offset(Offset { x: 2, y: 0 });
|
||||||
let hovered = hovered.contains(*drawn_tile);
|
// let hovered = hovered.contains(*drawn_tile);
|
||||||
let widget = render_tile(tiles.get(*drawn_tile)?, hovered);
|
// let widget = render_tile(tiles.get(*drawn_tile)?, hovered);
|
||||||
if hovered {
|
// if hovered {
|
||||||
area = area.offset(Offset { x: 0, y: -1 });
|
// area = area.offset(Offset { x: 0, y: -1 });
|
||||||
let mut hitbox = area.as_size();
|
// let mut hitbox = area.as_size();
|
||||||
hitbox.height += 1;
|
// hitbox.height += 1;
|
||||||
commands.entity(*drawn_tile).insert(PickRegion {
|
// commands.entity(*drawn_tile).insert(PickRegion {
|
||||||
area: area.resize(hitbox),
|
// area: area.resize(hitbox),
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
commands.entity(*drawn_tile).insert(PickRegion { area });
|
// commands.entity(*drawn_tile).insert(PickRegion { area });
|
||||||
}
|
// }
|
||||||
frame.render_widget(widget, area);
|
// frame.render_widget(widget, area);
|
||||||
}
|
// }
|
||||||
// TODO draw melds
|
// TODO draw melds
|
||||||
} else {
|
} else {
|
||||||
// match mainplayer.1.relate(wind) {
|
// match mainplayer.1.relate(wind) {
|
||||||
|
|
|
||||||
4
justfile
4
justfile
|
|
@ -8,8 +8,8 @@ default:
|
||||||
just --list
|
just --list
|
||||||
|
|
||||||
run-tui:
|
run-tui:
|
||||||
# mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_generate_bindings} | to yaml)"
|
mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_generate_bindings} | to yaml)"
|
||||||
# sleep 3sec
|
sleep 3sec
|
||||||
cargo run -- run-tui
|
cargo run -- run-tui
|
||||||
|
|
||||||
update:
|
update:
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ pub fn start_game(ctx: &ReducerContext) {
|
||||||
PlayerOrBot::Bot { id } => ctx.db.bot().id().find(id).is_some(),
|
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);
|
ctx.db.lobby().id().update(lobby);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@ pub fn shuffle_deal(ctx: &ReducerContext, lobby_id: u32) {
|
||||||
debug!("lobby_id: {lobby_id}");
|
debug!("lobby_id: {lobby_id}");
|
||||||
let mut lobby = ctx.db.lobby().id().find(lobby_id).unwrap();
|
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);
|
let tiles = new_shuffled_wall(ctx);
|
||||||
ctx.db.wall().insert(Wall {
|
ctx.db.wall().insert(Wall {
|
||||||
// id: 0,
|
// id: 0,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue