use bevy::prelude::*; use bevy_ratatui::RatatuiContext; use ratatui::{ Frame, widgets::{Block, Clear}, }; use tui_logger::TuiLoggerWidget; pub(crate) mod hand; pub(crate) mod ingame; pub(crate) mod menu; pub(crate) mod tile; #[derive(Resource, Default)] pub(crate) struct WidgetStack(pub(crate) Vec>); #[derive(Component)] pub(crate) struct Hovered; pub(crate) fn draw_console(mut widgets: ResMut) { widgets.0.push(Box::new(|frame| { let block = Block::bordered().title("console"); frame.render_widget(Clear, frame.area()); frame.render_widget( TuiLoggerWidget::default().block(block), frame.area(), /* .inner(Margin { horizontal: 8, vertical: 8 }) */ ); })); } pub(crate) fn draw_system( mut tui_ctx: ResMut, mut widgets: ResMut, ) -> Result { tui_ctx.draw(|frame| { for widget in widgets.0.drain(..) { widget(frame) } })?; Ok(()) }