mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-12 15:14:35 +01:00
config reading
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"rust-analyzer.linkedProjects": [".\\src-tauri\\Cargo.toml"]
|
||||
}
|
||||
44
src-tauri/src/config.rs
Normal file
44
src-tauri/src/config.rs
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user