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); }
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(""); } }