2026-01-09 23:14:29 -08:00
|
|
|
use bevy::prelude::*;
|
|
|
|
|
use bevy_ratatui::RatatuiContext;
|
|
|
|
|
|
2026-01-11 22:32:30 -08:00
|
|
|
use crate::tui::render::hand;
|
2026-01-11 20:10:30 -08:00
|
|
|
|
|
|
|
|
pub(crate) fn draw_ingame(
|
2026-01-12 01:54:59 -08:00
|
|
|
rendered_hand: Res<hand::RenderedHand>,
|
2026-01-09 23:14:29 -08:00
|
|
|
mut tui_ctx: ResMut<RatatuiContext>,
|
|
|
|
|
) -> Result {
|
|
|
|
|
use ratatui::layout::Flex;
|
|
|
|
|
use ratatui::prelude::*;
|
|
|
|
|
|
|
|
|
|
tui_ctx.draw(|frame| {
|
2026-01-12 21:07:34 -08:00
|
|
|
// debug!("{}", frame.area());
|
2026-01-09 23:14:29 -08:00
|
|
|
|
2026-01-11 20:10:30 -08:00
|
|
|
let layout = Layout::horizontal(vec![Constraint::Max(5); 13]).flex(Flex::Start);
|
|
|
|
|
let mut area = frame.area();
|
|
|
|
|
area.height = 4;
|
|
|
|
|
let areas = layout.areas::<13>(area);
|
2026-01-12 21:57:08 -08:00
|
|
|
if let Some(tiles) = rendered_hand.0.first() {
|
|
|
|
|
for (tile, area) in tiles.iter().zip(areas.iter()) {
|
|
|
|
|
frame.render_widget(tile, *area);
|
|
|
|
|
}
|
2026-01-09 23:14:29 -08:00
|
|
|
}
|
|
|
|
|
})?;
|
|
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
|
}
|