public static bool saveData(Configuration.dataLevel type) { Log.Info("saveData dataLevel: " + type.ToString()); string path = getDataFile(type); Log.Info("saveData: " + path); if (path == "") { return(false); } ConfigNode root = new ConfigNode(); ConfigNode top = new ConfigNode(FileOperations.TT_NODENAME); root.SetNode(FileOperations.TT_NODENAME, top, true); switch (type) { case Configuration.dataLevel.game: top.SetValue("secInGame", TotalTime.secInGame.ToString(), true); break; case Configuration.dataLevel.install: top.SetValue("secInInstall", TotalTime.secInInstall.ToString(), true); break; case Configuration.dataLevel.global: top.SetValue("secTotal", TotalTime.secTotal.ToString(), true); break; } root.Save(path); return(false); }
public static bool getData(Configuration.dataLevel type) { Log.Info("getData dataLevel: " + type.ToString()); string path = getDataFile(type); Log.Info("getData path: " + path); if (path == "" || !System.IO.File.Exists(path)) { switch (type) { case Configuration.dataLevel.game: TotalTime.secInGame = 0; break; case Configuration.dataLevel.install: TotalTime.secInInstall = 0; break; case Configuration.dataLevel.global: TotalTime.secTotal = 0; break; } Log.Info("path/file not found"); return(false); } ConfigNode root = new ConfigNode(); root = ConfigNode.Load(path); ConfigNode top = root.GetNode(FileOperations.TT_NODENAME); if (top != null) { switch (type) { case Configuration.dataLevel.game: TotalTime.secInGame = int.Parse(SafeLoad(top.GetValue("secInGame"), TotalTime.secInGame.ToString())); Log.Info("getData: dataLevel.game: " + TotalTime.secInGame); TotalTime.strSecInGameTime = TotalTime.formatTime(TotalTime.secInGame); break; case Configuration.dataLevel.install: TotalTime.secInInstall = int.Parse(SafeLoad(top.GetValue("secInInstall"), TotalTime.secInInstall.ToString())); Log.Info("getData: dataLevel.install: " + TotalTime.secInInstall); TotalTime.strSecInInstallTime = TotalTime.formatTime(TotalTime.secInInstall); break; case Configuration.dataLevel.global: TotalTime.secTotal = int.Parse(SafeLoad(top.GetValue("secTotal"), TotalTime.secTotal.ToString())); Log.Info("getData: dataLevel.global: " + TotalTime.secTotal); TotalTime.strSecTotalTime = TotalTime.formatTime(TotalTime.secTotal); break; } } return(false); }
private static string getDataFile(Configuration.dataLevel type) { switch (type) { case Configuration.dataLevel.game: // This happens when this is called before a save is loaded or created if (HighLogic.SaveFolder == "DestructiblesTest") { return(""); } return(KSPUtil.ApplicationRootPath + "saves/" + HighLogic.SaveFolder + "/" + TT_DATAFILE); case Configuration.dataLevel.install: return(CONFIG_BASE_FOLDER + TT_DATAFILE); case Configuration.dataLevel.global: if (TotalTime.config.totalTimeDataPath == "") { return(""); } return(TotalTime.config.totalTimeDataPath + "/" + FileOperations.TT_DATAFILE); } return(""); }