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}