temporary workaround racing against render and spawning hand?
This commit is contained in:
parent
c274f6b807
commit
922413cc93
4 changed files with 22 additions and 15 deletions
|
|
@ -15,6 +15,7 @@
|
||||||
# paths = [./jong];
|
# paths = [./jong];
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
processes.tail_log.exec = "tail -f jong.log";
|
||||||
|
|
||||||
# https://devenv.sh/packages/
|
# https://devenv.sh/packages/
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ use bevy::{log::LogPlugin, prelude::*};
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
use tracing::Level;
|
use tracing::Level;
|
||||||
use tracing_subscriber::{
|
use tracing_subscriber::{
|
||||||
Layer,
|
EnvFilter, Layer,
|
||||||
fmt::{self, layer},
|
fmt::{self, layer},
|
||||||
layer::SubscriberExt,
|
layer::SubscriberExt,
|
||||||
util::SubscriberInitExt,
|
util::SubscriberInitExt,
|
||||||
|
|
@ -40,7 +40,11 @@ fn main() {
|
||||||
Mode::RunTui => {
|
Mode::RunTui => {
|
||||||
tracing_subscriber::registry()
|
tracing_subscriber::registry()
|
||||||
.with(tui_logger::TuiTracingSubscriberLayer)
|
.with(tui_logger::TuiTracingSubscriberLayer)
|
||||||
.with(fmt::layer().with_writer(File::create("jong.log").unwrap()))
|
.with(
|
||||||
|
fmt::layer()
|
||||||
|
.with_writer(File::create("jong.log").unwrap())
|
||||||
|
.with_filter(EnvFilter::from_default_env()),
|
||||||
|
)
|
||||||
.init();
|
.init();
|
||||||
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);
|
||||||
|
|
|
||||||
|
|
@ -187,17 +187,11 @@ fn spawn_main_hand(
|
||||||
.iter()
|
.iter()
|
||||||
.map(|dbt| commands.spawn((Tile::from(&dbt.tile), TileId(dbt.id))).id())
|
.map(|dbt| commands.spawn((Tile::from(&dbt.tile), TileId(dbt.id))).id())
|
||||||
.collect();
|
.collect();
|
||||||
let pond = commands.spawn(Hand).add_children(&pond_tiles).id();
|
let hand = commands.spawn(Hand).add_children(&hand_tiles).id();
|
||||||
let hand = commands.spawn(Pond).add_children(&hand_tiles).id();
|
let pond = commands.spawn(Pond).add_children(&pond_tiles).id();
|
||||||
let children = commands
|
commands.entity(main_player).add_children(&[hand, pond]);
|
||||||
.entity(main_player)
|
|
||||||
.add_children(&[pond, hand])
|
|
||||||
.id();
|
|
||||||
|
|
||||||
debug!(
|
debug!("main_hand: {:?}\n main_pond: {:?}", hand_tiles, pond_tiles);
|
||||||
"main_hand: {:?}\n main_pond: {:?}, children: {:?}",
|
|
||||||
hand_tiles, pond_tiles, children
|
|
||||||
);
|
|
||||||
|
|
||||||
if player_hand.turn_state == jong_db::TurnState::Tsumo
|
if player_hand.turn_state == jong_db::TurnState::Tsumo
|
||||||
&& let Some(drawn_dbt) = &player_hand.working_tile
|
&& let Some(drawn_dbt) = &player_hand.working_tile
|
||||||
|
|
@ -319,10 +313,10 @@ fn on_view_hand_update(
|
||||||
) {
|
) {
|
||||||
// TODO can this and similar run at startup or on play/reconnect?
|
// TODO can this and similar run at startup or on play/reconnect?
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
trace!("new hand: {:?}", msg.new);
|
// trace!("new hand: {:?}", msg.new);
|
||||||
|
|
||||||
if main_player.1.is_none() {
|
if main_player.1.is_none() {
|
||||||
trace!("spawn_main_hand, {:?}", *main_player);
|
// trace!("spawn_main_hand, {:?}", *main_player);
|
||||||
spawn_main_hand(&mut commands, &mut next_turnstate, main_player.0, &msg.new);
|
spawn_main_hand(&mut commands, &mut next_turnstate, main_player.0, &msg.new);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,10 @@ pub(crate) fn render_main_hand(
|
||||||
let mut frame = tui.get_frame();
|
let mut frame = tui.get_frame();
|
||||||
debug_blocks(layouts.clone(), &mut frame);
|
debug_blocks(layouts.clone(), &mut frame);
|
||||||
|
|
||||||
|
if hand.is_empty() {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
let hand: Vec<_> = hand
|
let hand: Vec<_> = hand
|
||||||
.iter()
|
.iter()
|
||||||
.find_map(|(c, e)| {
|
.find_map(|(c, e)| {
|
||||||
|
|
@ -222,6 +226,10 @@ pub(crate) fn render_main_pond(
|
||||||
) -> Result {
|
) -> Result {
|
||||||
let mut frame = tui.get_frame();
|
let mut frame = tui.get_frame();
|
||||||
|
|
||||||
|
if pond.is_empty() {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
let pond: Vec<_> = pond
|
let pond: Vec<_> = pond
|
||||||
.iter()
|
.iter()
|
||||||
.find_map(|(c, e)| {
|
.find_map(|(c, e)| {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue