jong/src/main.rs

54 lines
1.2 KiB
Rust
Raw Normal View History

2026-01-09 06:54:17 -08:00
#![allow(unused)]
2026-01-09 23:14:29 -08:00
use bevy::{log::LogPlugin, prelude::*};
2026-01-07 00:51:57 -08:00
use clap::{Parser, Subcommand};
2026-01-09 23:14:29 -08:00
use tracing::Level;
2026-01-09 06:54:17 -08:00
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
2026-01-07 00:51:57 -08:00
mod gui;
mod tui;
2026-01-07 00:51:57 -08:00
#[derive(Parser)]
struct Args {
#[command(subcommand)]
mode: Mode,
}
#[derive(Subcommand)]
enum Mode {
RunGui,
RunTui,
}
2026-01-09 23:14:29 -08:00
const FILTERSTRING: &str = "warn,jong=trace";
2026-01-05 23:24:42 -08:00
fn main() {
2026-01-07 00:51:57 -08:00
let args = Args::parse();
let mut app = App::new();
let app = match args.mode {
2026-01-09 23:14:29 -08:00
Mode::RunGui => {
app.add_plugins(DefaultPlugins.set(LogPlugin {
filter: FILTERSTRING.into(),
level: Level::TRACE,
// custom_layer: todo!(),
// fmt_layer: todo!(),
..Default::default()
}))
}
2026-01-09 03:34:54 -08:00
Mode::RunTui => {
tracing_subscriber::registry()
.with(tui_logger::TuiTracingSubscriberLayer)
.init();
tui_logger::init_logger(tui_logger::LevelFilter::Trace).unwrap();
2026-01-09 23:14:29 -08:00
tui_logger::set_env_filter_from_string(FILTERSTRING);
2026-01-09 03:34:54 -08:00
2026-01-11 20:10:30 -08:00
app.add_plugins(tui::RiichiTui::default())
2026-01-09 03:34:54 -08:00
}
2026-01-07 00:51:57 -08:00
};
2026-01-08 21:35:16 -08:00
app.add_plugins(jong::game::Riichi);
2026-01-07 00:51:57 -08:00
app.run();
}