simplify game setup
This commit is contained in:
parent
f4c4339204
commit
30d19ed9d9
8 changed files with 145 additions and 171 deletions
|
|
@ -6,9 +6,9 @@ use bevy_ratatui::event::KeyMessage;
|
|||
use ratatui::{text::ToSpan, widgets::Paragraph};
|
||||
|
||||
use jong::game::GameState;
|
||||
use jong::game::wall::InWall;
|
||||
// use jong::game::wall::InWall;
|
||||
|
||||
use crate::tui::console::ConsoleState;
|
||||
use crate::tui::{console::ConsoleState, menu::draw_mainmenu, render::ingame::draw_ingame};
|
||||
|
||||
mod console;
|
||||
mod menu;
|
||||
|
|
@ -54,7 +54,7 @@ impl Plugin for RiichiTui {
|
|||
|
||||
// console
|
||||
.init_state::<console::ConsoleState>()
|
||||
.add_systems(Update, console::draw_console.run_if(in_state(console::ConsoleState::Open)))
|
||||
.add_systems(Update, console::draw_console.after_ignore_deferred(draw_mainmenu).after_ignore_deferred(draw_ingame).run_if(in_state(console::ConsoleState::Open)))
|
||||
|
||||
// general setup
|
||||
.init_state::<TuiState>()
|
||||
|
|
@ -67,7 +67,7 @@ impl Plugin for RiichiTui {
|
|||
// gaming
|
||||
.init_resource::<render::hand::RenderedHand>()
|
||||
.add_systems(Update, render::ingame::draw_ingame.run_if(in_state(InGame)))
|
||||
.add_systems(Update, render::hand::render_changed_hand.run_if(in_state(InGame).and(in_state(GameState::Play))))
|
||||
// .add_systems(Update, render::hand::render_changed_hand.run_if(in_state(InGame).and(in_state(GameState::Play))))
|
||||
|
||||
// semicolon stopper
|
||||
;
|
||||
|
|
@ -119,7 +119,7 @@ pub(crate) fn input_system(
|
|||
}
|
||||
_ => {}
|
||||
},
|
||||
GameState::Score => todo!(),
|
||||
_ => todo!(),
|
||||
_ => unreachable!("TuiState::InGame but GameState invalid")
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use bevy::prelude::*;
|
||||
use ratatui::widgets::Paragraph;
|
||||
|
||||
use jong::game::hand::HandTiles;
|
||||
// use jong::game::hand::HandTiles;
|
||||
use jong::tiles::Tile;
|
||||
|
||||
use crate::tui::render::tiles;
|
||||
|
|
@ -9,24 +9,24 @@ use crate::tui::render::tiles;
|
|||
#[derive(Resource, Default)]
|
||||
pub(crate) struct RenderedHand(pub(crate) Vec<Vec<Paragraph<'static>>>);
|
||||
|
||||
pub(crate) fn render_changed_hand(
|
||||
hands: Populated<&Children, Changed<HandTiles>>,
|
||||
tiles: Populated<&Tile>,
|
||||
mut target: ResMut<RenderedHand>,
|
||||
) -> Result {
|
||||
let mut rendered = vec![];
|
||||
// pub(crate) fn render_changed_hand(
|
||||
// hands: Populated<&Children, Changed<HandTiles>>,
|
||||
// tiles: Populated<&Tile>,
|
||||
// mut target: ResMut<RenderedHand>,
|
||||
// ) -> Result {
|
||||
// let mut rendered = vec![];
|
||||
|
||||
for hand in hands {
|
||||
let tiles = hand
|
||||
.iter()
|
||||
.map(|inhand| tiles.get(inhand).map(tiles::draw_tile).unwrap())
|
||||
.collect();
|
||||
// for hand in hands {
|
||||
// let tiles = hand
|
||||
// .iter()
|
||||
// .map(|inhand| tiles.get(inhand).map(tiles::draw_tile).unwrap())
|
||||
// .collect();
|
||||
|
||||
rendered.push(tiles);
|
||||
}
|
||||
// rendered.push(tiles);
|
||||
// }
|
||||
|
||||
target.0 = rendered;
|
||||
// target.0 = rendered;
|
||||
|
||||
trace!("render_changed_hand");
|
||||
Ok(())
|
||||
}
|
||||
// trace!("render_changed_hand");
|
||||
// Ok(())
|
||||
// }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue