jong/src/main.rs
2026-01-11 21:52:04 -08:00

53 lines
1.2 KiB
Rust

#![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::default())
}
};
app.add_plugins(jong::game::Riichi);
app.run();
}