config reading

This commit is contained in:
SpikeHD
2023-04-21 16:28:56 -07:00
parent 5480af7835
commit 48dff50a5d
3 changed files with 55 additions and 1 deletions

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"rust-analyzer.linkedProjects": [".\\src-tauri\\Cargo.toml"]
}

44
src-tauri/src/config.rs Normal file
View File

@@ -0,0 +1,44 @@
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
use std::string::String;
#[derive(Serialize, Deserialize, Debug)]
pub struct Configuration {
toggle_grasscutter: bool,
game_install_path: String,
grasscutter_with_game: bool,
grasscutter_path: String,
java_path: String,
close_action: u64,
startup_launch: bool,
last_ip: String,
last_port: u64,
language: String,
customBackground: String,
cert_generated: bool,
theme: String,
https_enabled: bool,
debug_enabled: bool,
patch_rsa: bool,
use_internal_proxy: bool,
wipe_login: bool,
horny_mode: bool,
auto_mongodb: bool,
un_elevated: bool,
}
pub fn config_path() -> PathBuf {
let mut path = tauri::api::path::data_dir().unwrap();
path.push("cultivation");
path.push("configuration.json");
path
}
pub fn get_config() -> Configuration {
let path = config_path();
let config = std::fs::read_to_string(path).unwrap();
let config: Configuration = serde_json::from_str(&config).unwrap();
config
}

View File

@@ -18,6 +18,7 @@ use sysinfo::{Pid, ProcessExt, System, SystemExt};
use crate::admin::reopen_as_admin;
mod admin;
mod config;
mod downloader;
mod file_helpers;
mod gamebanana;
@@ -41,6 +42,8 @@ fn has_arg(args: &[String], arg: &str) -> bool {
}
async fn arg_handler(args: &[String]) {
let config = config::get_config();
if has_arg(args, "--proxy") {
let mut pathbuf = tauri::api::path::data_dir().unwrap();
pathbuf.push("cultivation");
@@ -48,6 +51,10 @@ async fn arg_handler(args: &[String]) {
connect(8035, pathbuf.to_str().unwrap().to_string()).await;
}
if has_arg(args, "--launch-game") {
let game_exe = config.game_install_path.clone();
}
}
fn main() {
@@ -58,7 +65,7 @@ fn main() {
println!("You running as a non-elevated user. Some stuff will almost definitely not work.");
println!("===============================================================================");
reopen_as_admin();
//reopen_as_admin();
}
// Setup datadir/cultivation just in case something went funky and it wasn't made