Esempio n. 1
0
        /// <summary>
        /// Gets list of all additional mount points from main configuration file.
        /// </summary>
        private List <String> GetSteamMountPoints()
        {
            // Creating a new list for storing result...
            List <String> Result = new List <String> {
                FullSteamPath
            };

            // Trying to get additional mount points by reading them from config...
            try
            {
                // Opening file stream...
                using (StreamReader SteamConfig = new StreamReader(GetSteamConfig(), Encoding.Default))
                {
                    // Creating buffer variable...
                    string RdStr;

                    // Reading up to the end...
                    while (SteamConfig.Peek() >= 0)
                    {
                        // Reading row and cleaning it up...
                        RdStr = SteamConfig.ReadLine().Trim();

                        // Checking if string is not empty...
                        if (!(String.IsNullOrWhiteSpace(RdStr)))
                        {
                            // Finding additional game libraries...
                            if (RdStr.IndexOf("BaseInstallFolder", StringComparison.CurrentCultureIgnoreCase) != -1)
                            {
                                RdStr = StringsManager.CleanString(RdStr, true, true);
                                RdStr = RdStr.Remove(0, RdStr.IndexOf(" ") + 1);
                                if (!(String.IsNullOrWhiteSpace(RdStr)))
                                {
                                    Result.Add(RdStr);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                Logger.Warn(Ex, DebugStrings.AppDbgExCoreStmManMountPointsFetchError);
            }

            // Returning final list...
            return(Result);
        }
Esempio n. 2
0
        /// <summary>
        /// Считывает из главного файла конфигурации Steam пути к дополнительным точкам монтирования.
        /// </summary>
        private List <String> GetSteamMountPoints()
        {
            // Создаём массив, в который будем помещать найденные пути...
            List <String> Result = new List <String> {
                FullSteamPath
            };

            // Начинаем чтение главного файла конфигурации...
            try
            {
                // Открываем файл как поток...
                using (StreamReader SteamConfig = new StreamReader(Path.Combine(FullSteamPath, "config", "config.vdf"), Encoding.Default))
                {
                    // Инициализируем буферную переменную...
                    string RdStr;

                    // Читаем поток построчно...
                    while (SteamConfig.Peek() >= 0)
                    {
                        // Считываем строку и сразу очищаем от лишнего...
                        RdStr = SteamConfig.ReadLine().Trim();

                        // Проверяем наличие данных в строке...
                        if (!(String.IsNullOrWhiteSpace(RdStr)))
                        {
                            // Ищем в строке путь установки...
                            if (RdStr.IndexOf("BaseInstallFolder", StringComparison.CurrentCultureIgnoreCase) != -1)
                            {
                                RdStr = CoreLib.CleanStrWx(RdStr, true, true);
                                RdStr = RdStr.Remove(0, RdStr.IndexOf(" ") + 1);
                                if (!(String.IsNullOrWhiteSpace(RdStr)))
                                {
                                    Result.Add(RdStr);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                CoreLib.WriteStringToLog(Ex.Message);
            }

            // Возвращаем сформированный массив...
            return(Result);
        }