Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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("");
        }