public static void RemovePath(int i) { UnityInstalls.LazyInitialize(); UnityInstalls.installPaths.RemoveAt(i); UnityInstalls.UpdateUnityInstalls(); UnityInstalls.Save(); }
public static void SetPath(int i, string path) { UnityInstalls.LazyInitialize(); if (i >= 0 && i < UnityInstalls.installPaths.Count) { UnityInstalls.installPaths[i] = path; } UnityInstalls.UpdateUnityInstalls(); UnityInstalls.Save(); }
public static void AddPath(string path = null) { UnityInstalls.LazyInitialize(); if (path == null) { if (UnityInstalls.installPaths.Count > 0) { UnityInstalls.installPaths.Add(UnityInstalls.installPaths[UnityInstalls.installPaths.Count - 1]); } else { UnityInstalls.installPaths.Add(string.Empty); } UnityInstalls.Save(); } else if (UnityInstalls.installPaths.Contains(path) == false) { UnityInstalls.installPaths.Add(path); UnityInstalls.UpdateUnityInstalls(); UnityInstalls.Save(); } }
private static void LazyInitialize() { if (UnityInstalls.installPaths == null) { try { string rawPaths = EditorPrefs.GetString(UnityInstalls.UnityInstallPathsPrefKey); if (string.IsNullOrEmpty(rawPaths) == false) { string[] paths = rawPaths.Split(UnityInstalls.Separator); if (paths.Length > 0) { UnityInstalls.installPaths = new List <string>(paths); UnityInstalls.unityInstalls = new Dictionary <string, string>(); UnityInstalls.UpdateUnityInstalls(); } } } catch (Exception ex) { Debug.LogException(ex); } finally { if (UnityInstalls.installPaths == null) { UnityInstalls.installPaths = new List <string>(); } if (UnityInstalls.unityInstalls == null) { UnityInstalls.unityInstalls = new Dictionary <string, string>(); } } } }