/* * This file is part of sdbclient * Copyright (C) 2022 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ use bevy::prelude::*; use serde::{Deserialize, Serialize}; // Constants for file names pub const FILE_CFG_SETTINGS: &str = "cfgsettings.json"; pub const FILE_CFG_USER: &str = "cfguser.json"; pub const FILE_CFG_HIDDEN: &str = ".cfghidden.json"; /// Stores a directories::ProjectDirs for easy access #[derive(Resource, Debug, Component, Clone)] pub struct CfgDirs(pub directories::ProjectDirs); /// Various settings that can be changed from the... Settings. #[derive(Serialize, Deserialize, Resource, Debug, Component, PartialEq, Clone)] pub struct CfgSettings { /// Master Volume pub volume_master: u32, /// Fulsscreen pub fullscreen: bool, /// Resolution pub resolution: (f32, f32), } /// User details and status #[derive(Serialize, Deserialize, Resource, Debug, Component, PartialEq, Clone)] pub struct CfgUser { /// User logged in status pub logged_in: bool, /// User Token pub user_token: String, /// User ID pub id: String, /// Username pub username: String, /// User email pub email: String, } /// Settings that the user has no access to, or can only access through developer settings #[derive(Serialize, Deserialize, Resource, Debug, Component, PartialEq, Clone)] pub struct CfgHidden { /// API Server pub api_server: String, }