#![allow(unused)] use bevy::{log::LogPlugin, prelude::*}; use clap::{Parser, Subcommand}; use tracing::Level; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; mod gui; mod tui; #[derive(Parser)] struct Args { #[command(subcommand)] mode: Mode, } #[derive(Subcommand)] enum Mode { RunGui, RunTui, } const FILTERSTRING: &str = "warn,jong=trace"; fn main() { let args = Args::parse(); let mut app = App::new(); let app = match args.mode { Mode::RunGui => { app.add_plugins(DefaultPlugins.set(LogPlugin { filter: FILTERSTRING.into(), level: Level::TRACE, // custom_layer: todo!(), // fmt_layer: todo!(), ..Default::default() })) } Mode::RunTui => { tracing_subscriber::registry() .with(tui_logger::TuiTracingSubscriberLayer) .init(); tui_logger::init_logger(tui_logger::LevelFilter::Trace).unwrap(); tui_logger::set_env_filter_from_string(FILTERSTRING); app.add_plugins(tui::RiichiTui) } }; app.add_plugins(jong::game::Riichi); app.run(); }