use bevy::prelude::*; use ratatui::widgets::Paragraph; use jong::game::hand::HandTiles; use jong::tiles::Tile; use crate::tui::render::tiles; #[derive(Resource, Default)] pub(crate) struct RenderedHand(pub(crate) Vec>); pub(crate) fn render_changed_hand( hand: Single<&HandTiles, Changed>, tiles: Populated<&Tile>, mut target: ResMut, ) -> Result { trace!("render_changed_hand"); render_hand(hand, tiles, target)?; Ok(()) } pub(crate) fn render_hand( hand: Single<&HandTiles, Changed>, tiles: Populated<&Tile>, mut target: ResMut, ) -> Result { trace!("render_hand"); let hand_tiles = hand .iter() .map(|inhand| -> Result<_> { Ok(tiles.get(inhand).map(tiles::draw_tile)?) }) .collect::>>()?; target.0 = hand_tiles; Ok(()) }