paiagram/
settings.rs

1use bevy::prelude::*;
2use serde::{Deserialize, Serialize};
3
4pub struct SettingsPlugin;
5impl Plugin for SettingsPlugin {
6    fn build(&self, app: &mut App) {
7        app.insert_resource(Settings::default());
8    }
9}
10
11#[derive(Serialize, Deserialize)]
12pub enum TerminologyScheme {
13    Paiagram,
14    Chinese,
15    Japanese,
16}
17
18#[derive(Resource, Serialize, Deserialize)]
19pub struct Settings {
20    pub enable_romaji_search: bool,
21    pub pinyin_scheme: Vec<String>,
22    pub terminology_scheme: TerminologyScheme,
23    pub language: Option<String>,
24}
25
26impl Default for Settings {
27    fn default() -> Self {
28        Self {
29            enable_romaji_search: false,
30            pinyin_scheme: vec!["quanpin".into(), "diletter_microsoft".into()],
31            terminology_scheme: TerminologyScheme::Paiagram,
32            language: None,
33        }
34    }
35}