diff --git a/src/game/hand.rs b/src/game/hand.rs index de7ed08..fd5a97b 100644 --- a/src/game/hand.rs +++ b/src/game/hand.rs @@ -1,7 +1,7 @@ -use bevy::{ecs::relationship::RelationshipSourceCollection, prelude::*}; +use bevy::prelude::*; use crate::{ - game::{GameState, player::Player, wall::Wall /* wall::WallTiles */}, + game::{GameState, player::Player, wall::Wall}, tile::Tile, }; @@ -21,7 +21,7 @@ pub struct DrawnTile(pub Entity); pub(crate) fn sort_hands( tiles: Populated<&Tile>, - mut hands: Populated<&mut Children, (Changed, Without)>, + hands: Populated<&mut Children, (Changed, Without)>, ) -> Result { for mut hand in hands { hand.sort_unstable_by_key(|e| tiles.get(*e).unwrap().suit); diff --git a/src/game/mod.rs b/src/game/mod.rs index 8a8720e..c296e21 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -1,15 +1,13 @@ use bevy::prelude::*; -use strum::{EnumCount, FromRepr}; use crate::{ - EnumNextCycle, game::{ - hand::{DrawnTile, Hand}, - player::{MainPlayer, Player}, + hand::Hand, + player::MainPlayer, round::{CurrentPlayer, TurnState, Wind}, wall::Wall, }, - tile::{self, *}, + tile::{self}, }; pub mod hand; diff --git a/src/tui/input/mouse.rs b/src/tui/input/mouse.rs index 5926222..acc9fa0 100644 --- a/src/tui/input/mouse.rs +++ b/src/tui/input/mouse.rs @@ -1,6 +1,6 @@ use bevy::prelude::*; use bevy_ratatui::{RatatuiContext, event::MouseMessage}; -use ratatui::{crossterm::event::MouseEvent, layout::Position}; +use ratatui::layout::Position; use crate::tui::render::Hovered; @@ -17,7 +17,7 @@ pub(crate) struct PickRegion { pub(crate) fn input_system( mut commands: Commands, mut messages: MessageReader, - context: Res, + _context: Res, entities: Query<(Entity, &PickRegion)>, hovered: Query<(Entity, &PickRegion), With>, ) -> Result { @@ -28,7 +28,7 @@ pub(crate) fn input_system( match event.kind { ratatui::crossterm::event::MouseEventKind::Down(mouse_button) => match mouse_button { ratatui::crossterm::event::MouseButton::Left => { - for (entity, region) in &entities {} + for (_entity, _region) in &entities {} } // ratatui::crossterm::event::MouseButton::Right => todo!(), // ratatui::crossterm::event::MouseButton::Middle => todo!(), diff --git a/src/tui/menu.rs b/src/tui/menu.rs index 104e193..f004f41 100644 --- a/src/tui/menu.rs +++ b/src/tui/menu.rs @@ -1,17 +1,11 @@ use bevy::prelude::*; use bevy_ratatui::RatatuiContext; -use bevy_ratatui::event::KeyMessage; -use ratatui::crossterm::event::KeyCode; use ratatui::layout::Constraint; use ratatui::layout::Layout; -use jong::game::GameState; - -use crate::tui::TuiState; - const MAINMENU_OPTIONS: [&str; 2] = ["(p)lay", "(q)uit"]; -pub(crate) fn draw_mainmenu(mut tui_ctx: ResMut) { +pub(crate) fn draw_mainmenu(mut tui_ctx: ResMut) -> Result { let options = MAINMENU_OPTIONS; let layout = Layout::vertical(vec![Constraint::Min(1); options.len()]); @@ -20,5 +14,7 @@ pub(crate) fn draw_mainmenu(mut tui_ctx: ResMut) { for (opt, area) in options.into_iter().zip(areas.iter()) { frame.render_widget(opt, *area) } - }); + })?; + + Ok(()) } diff --git a/src/tui/mod.rs b/src/tui/mod.rs index 05311b0..69c182a 100644 --- a/src/tui/mod.rs +++ b/src/tui/mod.rs @@ -2,12 +2,10 @@ use std::time::Duration; use bevy::{app::ScheduleRunnerPlugin, prelude::*, state::app::StatesPlugin}; use bevy_ratatui::RatatuiPlugins; -use ratatui::{text::ToSpan, widgets::Paragraph}; use jong::game::GameState; // use jong::game::wall::InWall; -use crate::tui::{console::ConsoleState, menu::draw_mainmenu, render::ingame::draw_ingame}; mod console; mod menu; diff --git a/src/tui/render/hand.rs b/src/tui/render/hand.rs index 939fdf9..944aa56 100644 --- a/src/tui/render/hand.rs +++ b/src/tui/render/hand.rs @@ -1,5 +1,4 @@ use bevy::{platform::collections::HashMap, prelude::*}; -use ratatui::widgets::Paragraph; use jong::{ game::{hand::Hand, player::Player}, diff --git a/src/tui/render/ingame.rs b/src/tui/render/ingame.rs index ce227ab..bb74910 100644 --- a/src/tui/render/ingame.rs +++ b/src/tui/render/ingame.rs @@ -3,9 +3,7 @@ use bevy_ratatui::RatatuiContext; use jong::game::hand::DrawnTile; use jong::game::player::{MainPlayer, Player}; use jong::tile::Tile; -use rand::rand_core::block::BlockRngCore; -use ratatui::style::Styled; -use ratatui::widgets::{Block, Borders, Widget}; +use ratatui::widgets::{Block, Borders}; use crate::tui::render::tile::draw_tile; use crate::tui::{ @@ -38,11 +36,11 @@ pub(crate) fn draw_ingame( let horizontal_slicer_left = Layout::horizontal(constraints.iter().rev()); let vertical_slicer_top = Layout::vertical(constraints.iter().rev()); let [left_hand, this_hand] = horizontal_slicer_right.areas::<2>(term_area); - let [_, mut left_hand] = vertical_slicer_bottom.areas::<2>(left_hand); + let [_, left_hand] = vertical_slicer_bottom.areas::<2>(left_hand); let [_, mut this_hand] = vertical_slicer_top.areas::<2>(this_hand); let [cross_hand, right_hand] = horizontal_slicer_left.areas::<2>(term_area); - let [mut right_hand, _] = vertical_slicer_top.areas::<2>(right_hand); - let [mut cross_hand, _] = vertical_slicer_bottom.areas::<2>(cross_hand); + let [right_hand, _] = vertical_slicer_top.areas::<2>(right_hand); + let [cross_hand, _] = vertical_slicer_bottom.areas::<2>(cross_hand); let margin = Margin::new( (left_hand.width + right_hand.width) / 2, @@ -53,7 +51,7 @@ pub(crate) fn draw_ingame( let cross_pond = Layout::vertical([Constraint::Fill(1), Constraint::Max(1), Constraint::Fill(1)]); let [mut left_pond, center, mut right_pond] = all_pond.areas::<3>(pond_area); - let [cross_pond, compass, this_pond] = cross_pond.areas::<3>(center); + let [cross_pond, _compass, this_pond] = cross_pond.areas::<3>(center); // let shift = left_pond.height - cross_pond.height; left_pond.height = cross_pond.height; left_pond.y += cross_pond.height / 2; @@ -79,14 +77,14 @@ pub(crate) fn draw_ingame( ]) .flex(Flex::SpaceBetween); let this_clamped = this_hand.height.abs_diff(5); - if let Some(val) = this_hand.height.checked_sub(this_clamped) { + if let Some(_val) = this_hand.height.checked_sub(this_clamped) { this_hand.height = 4 } else { // FIXME show error panic!("terminal too small!"); } this_hand.y += this_clamped + 1; - let [this_hand, mut this_drawn, this_meld] = hand_area_layout.areas::<3>(this_hand); + let [this_hand, mut this_drawn, _this_meld] = hand_area_layout.areas::<3>(this_hand); // this_hand let mut constraints = vec![Constraint::Max(5); hand.len()]; diff --git a/src/tui/render/tile.rs b/src/tui/render/tile.rs index 59d50bd..95bf282 100644 --- a/src/tui/render/tile.rs +++ b/src/tui/render/tile.rs @@ -7,7 +7,7 @@ use jong::tile::Tile; pub(crate) struct RenderedTile(pub(crate) Paragraph<'static>); pub(crate) fn draw_tile(tile: &Tile) -> Paragraph<'static> { - use ratatui::prelude::*; + let block = ratatui::widgets::Block::bordered();