use bevy::prelude::*; use clap::{Parser, Subcommand}; use tracing_subscriber::{layer::SubscriberExt, registry::LookupSpan, util::SubscriberInitExt}; mod gui; mod tui; #[derive(Parser)] struct Args { #[command(subcommand)] mode: Mode, } #[derive(Subcommand)] enum Mode { RunGui, RunTui, } fn main() { // tracing_subscriber::fmt() // .with_writer(std::io::stderr) // .with_env_filter("warn,jong=trace") // .init(); let args = Args::parse(); let mut app = App::new(); let app = match args.mode { Mode::RunGui => app.add_plugins(DefaultPlugins), 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("warn,jong=trace"); app.add_plugins(tui::RiichiTui) } }; app.add_plugins(jong::game::Riichi); app.run(); }