public static CTL_Exclude LoadFromString(string strIn)
        {
            CTL_Exclude returnObj = new CTL_Exclude();

            string[] splitted = strIn.Split(SEPARATOR);
            try
            {
                foreach (string str in splitted)
                {
                    if (!string.IsNullOrEmpty(str))
                    {
                        returnObj.AddExludedPath(Application.dataPath + "/" + str);
                    }
                }
            }
            catch (Exception) { }
            return(returnObj);
        }
Beispiel #2
0
        public static void Load()
        {
            if (DEBUG_MODE)
            {
                Debug.Log("load");
            }
            sInstance = new CTL_Settings();

            sInstance.mKeywordsList = new CTL_KeywordList();

            string _filePath = GetFilePath();

            bool keywordListInit = false;               //CTL...at first load it should stay false

            if (File.Exists(_filePath))
            {
                StreamReader _sr = null;
                try
                {
                    _sr = new StreamReader(_filePath);
                    string   _line          = _sr.ReadLine();
                    string[] _split         = new string[2];
                    int      dataStartIndex = 0;
                    while (!string.IsNullOrEmpty(_line))
                    {
                        dataStartIndex = _line.IndexOf(SEPARATOR) + 1;
                        if (dataStartIndex > 0 && dataStartIndex < _line.Length)
                        {
                            _split[0] = _line.Substring(0, dataStartIndex - 1);
                            _split[1] = _line.Substring(dataStartIndex);
                        }
                        else
                        {
                            Debug.LogError("cannot parse settings " + _line);
                            _line = _sr.ReadLine();
                            continue;
                        }

                        switch (_split[0])
                        {
                        case "a":
                            sInstance.mAutoRefresh = bool.Parse(_split[1]);
                            break;

                        case "b":
                            keywordListInit = true;
                            sInstance.mKeywordsList.LoadFromString(_split[1]);
                            break;

                        case "c":
                            sInstance.mCaseSensitive = bool.Parse(_split[1]);
                            break;

                        case "d":
                            sInstance.mDisplayContainerType = (eDisplayContainerType)int.Parse(_split[1]);
                            break;

                        case "e":
                            sInstance.mEnableHelpTooltips = bool.Parse(_split[1]);
                            break;

                        case "f":
                            sInstance.mExcludedPaths = CTL_Exclude.LoadFromString(_split[1]);
                            break;

                        case "g":
                            sInstance.mColumnSortIndex = int.Parse(_split[1]);
                            break;

                        case "h":
                            sInstance.mColumnSortAscending = bool.Parse(_split[1]);
                            break;

                        case "i":
                            sInstance.mColumnVisible = GenerateColumnVisibilityArrayFromString(_split[1]);
                            break;

                        case "j":
                            sInstance.mEnableCommentTooltip = bool.Parse(_split[1]);
                            break;

                        case "k":
                            sInstance.mDisplayKeywordInCommentTooltip = bool.Parse(_split[1]);
                            break;

                        case "l":
                            sInstance.mDisplayFilenameAndLineInCommentTooltip = bool.Parse(_split[1]);
                            break;

                        case "m":
                            sInstance.mDisplayTooltipModifier = (EventModifiers)int.Parse(_split[1]);
                            break;

                        case "n":
                            sInstance.mColumnSize = GenerateColumnSizeArrayFromString(_split[1]);
                            break;

                        case "o":
                            sInstance.mSearchFieldContent = _split[1];
                            break;

                        case "p":
                            sInstance.mCommentClickModifier_OpenFile = (EventModifiers)int.Parse(_split[1]);
                            break;

                        case "q":
                            sInstance.mParseCSFiles = bool.Parse(_split[1]);
                            break;

                        case "r":
                            sInstance.mParseJSFiles = bool.Parse(_split[1]);
                            break;

                        case "s":
                            sInstance.mKeywordSortOrder = (eKeywordSortOrder)int.Parse(_split[1]);
                            break;

                        case "t":
                            sInstance.mTrimCommentOnParse = bool.Parse(_split[1]);
                            break;

                        default:
                            UnityEngine.Debug.LogWarning("Unknown data for " + _split[0]);
                            break;
                        }
                        _line = _sr.ReadLine();
                    }
                }
                catch (Exception e) { Debug.LogError("Fail during prefs parsing:" + e.ToString()); }
                finally { if (_sr != null)
                          {
                              _sr.Dispose();
                          }
                }
            }
            if (!keywordListInit)
            {
                sInstance.mKeywordsList.LoadFromString("");
            }
        }