public static void OnGUI() { GUILayout.Space(10f); if (!InternalEditorUtility.HasPro()) { GUILayout.Label(EditorGUIUtility.TempContent("You need to have a Pro license to use the cache server.", EditorGUIUtility.GetHelpIcon(MessageType.Warning)), EditorStyles.helpBox, new GUILayoutOption[0]); } EditorGUI.BeginDisabledGroup(!InternalEditorUtility.HasPro()); if (!CacheServerPreferences.s_PrefsLoaded) { CacheServerPreferences.ReadPreferences(); CacheServerPreferences.s_PrefsLoaded = true; } EditorGUI.BeginChangeCheck(); CacheServerPreferences.s_CacheServerEnabled = EditorGUILayout.Toggle("Use Cache Server", CacheServerPreferences.s_CacheServerEnabled, new GUILayoutOption[0]); EditorGUI.BeginDisabledGroup(!CacheServerPreferences.s_CacheServerEnabled); CacheServerPreferences.s_CacheServerIPAddress = EditorGUILayout.TextField("IP Address", CacheServerPreferences.s_CacheServerIPAddress, new GUILayoutOption[0]); if (GUI.changed) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Unknown; } GUILayout.Space(5f); if (GUILayout.Button("Check Connection", new GUILayoutOption[] { GUILayout.Width(150f) })) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } GUILayout.Space(-25f); CacheServerPreferences.ConnectionState connectionState = CacheServerPreferences.s_ConnectionState; if (connectionState != CacheServerPreferences.ConnectionState.Success) { if (connectionState == CacheServerPreferences.ConnectionState.Failure) { EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, false); } } else { EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, false); } EditorGUI.EndDisabledGroup(); if (EditorGUI.EndChangeCheck()) { CacheServerPreferences.WritePreferences(); CacheServerPreferences.ReadPreferences(); } EditorGUI.EndDisabledGroup(); }
public static void ReadPreferences() { CacheServerPreferences.s_CacheServerIPAddress = EditorPrefs.GetString("CacheServerIPAddress", CacheServerPreferences.s_CacheServerIPAddress); CacheServerPreferences.s_CacheServerMode = (CacheServerPreferences.CacheServerMode)EditorPrefs.GetInt("CacheServerMode", (!EditorPrefs.GetBool("CacheServerEnabled")) ? 2 : 1); CacheServerPreferences.s_LocalCacheServerSize = EditorPrefs.GetInt("LocalCacheServerSize", 10); CacheServerPreferences.s_CachePath = EditorPrefs.GetString("LocalCacheServerPath"); CacheServerPreferences.s_EnableCustomPath = EditorPrefs.GetBool("LocalCacheServerCustomPath"); if (CacheServerPreferences.IsCollabCacheEnabled()) { CacheServerPreferences.s_CollabCacheIPAddress = EditorPrefs.GetString("CollabCacheIPAddress", CacheServerPreferences.s_CollabCacheIPAddress); CacheServerPreferences.s_CollabCacheEnabled = EditorPrefs.GetBool("CollabCacheEnabled"); } }
private static string GetForcedAssetPipelineWarning() { if (s_ForcedAssetPipelineWarning == null) { if (CacheServerPreferences.GetEnvironmentAssetPipelineOverride()) s_ForcedAssetPipelineWarning = "Asset pipeline mode was forced via the UNITY_ASSETS_V2_KATANA_TESTS environment variable. The above setting is not in effect before restarting without the environment variable set."; else if (CacheServerPreferences.GetCommandLineAssetPipelineOverride() != 0) s_ForcedAssetPipelineWarning = "Asset pipeline mode was forced via command line argument using the -adb1 or -adb2 command line argument. The above setting is not in effect before restarting without the command line argument."; else if (CacheServerPreferences.GetMagicFileAssetPipelineOverride()) s_ForcedAssetPipelineWarning = "Asset pipeline mode was forced via via magic adb2.txt file in project root. The above setting is not in effect before restarting without the magic file."; else s_ForcedAssetPipelineWarning = ""; } return s_ForcedAssetPipelineWarning; }
public static void WritePreferences() { if (CacheServerPreferences.GetCommandLineRemoteAddressOverride() == null) { CacheServerPreferences.CacheServerMode @int = (CacheServerPreferences.CacheServerMode)EditorPrefs.GetInt("CacheServerMode"); string @string = EditorPrefs.GetString("LocalCacheServerPath"); bool @bool = EditorPrefs.GetBool("LocalCacheServerCustomPath"); bool flag = false; if (@int != CacheServerPreferences.s_CacheServerMode && @int == CacheServerPreferences.CacheServerMode.Local) { flag = true; } if (CacheServerPreferences.s_EnableCustomPath && @string != CacheServerPreferences.s_CachePath) { flag = true; } if (CacheServerPreferences.s_EnableCustomPath != @bool && CacheServerPreferences.s_CachePath != LocalCacheServer.GetCacheLocation() && CacheServerPreferences.s_CachePath != "") { flag = true; } if (flag) { CacheServerPreferences.s_LocalCacheServerUsedSize = -1L; string text = (CacheServerPreferences.s_CacheServerMode != CacheServerPreferences.CacheServerMode.Local) ? "You have disabled the local cache." : "You have changed the location of the local cache storage."; text = text + " Do you want to delete the old locally cached data at " + LocalCacheServer.GetCacheLocation() + "?"; if (EditorUtility.DisplayDialog("Delete old Cache", text, "Delete", "Don't Delete")) { LocalCacheServer.Clear(); CacheServerPreferences.s_LocalCacheServerUsedSize = -1L; } } EditorPrefs.SetString("CacheServerIPAddress", CacheServerPreferences.s_CacheServerIPAddress); EditorPrefs.SetInt("CacheServerMode", (int)CacheServerPreferences.s_CacheServerMode); EditorPrefs.SetInt("LocalCacheServerSize", CacheServerPreferences.s_LocalCacheServerSize); EditorPrefs.SetString("LocalCacheServerPath", CacheServerPreferences.s_CachePath); EditorPrefs.SetBool("LocalCacheServerCustomPath", CacheServerPreferences.s_EnableCustomPath); LocalCacheServer.Setup(); if (flag) { GUIUtility.ExitGUI(); } } }
public static void OnGUI() { EventType type = Event.current.type; if (CacheServerPreferences.s_Constants == null) { CacheServerPreferences.s_Constants = new CacheServerPreferences.Constants(); } if (!InternalEditorUtility.HasTeamLicense()) { GUILayout.Label(EditorGUIUtility.TempContent("You need to have a Pro or Team license to use the cache server.", EditorGUIUtility.GetHelpIcon(MessageType.Warning)), EditorStyles.helpBox, new GUILayoutOption[0]); } using (new EditorGUI.DisabledScope(!InternalEditorUtility.HasTeamLicense())) { if (!CacheServerPreferences.s_PrefsLoaded) { CacheServerPreferences.ReadPreferences(); if (CacheServerPreferences.s_CacheServerMode != CacheServerPreferences.CacheServerMode.Disabled && CacheServerPreferences.s_ConnectionState == CacheServerPreferences.ConnectionState.Unknown) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } CacheServerPreferences.s_PrefsLoaded = true; } EditorGUI.BeginChangeCheck(); CacheServerPreferences.s_CacheServerMode = (CacheServerPreferences.CacheServerMode)EditorGUILayout.EnumPopup("Cache Server Mode", CacheServerPreferences.s_CacheServerMode, new GUILayoutOption[0]); if (CacheServerPreferences.s_CacheServerMode == CacheServerPreferences.CacheServerMode.Remote) { CacheServerPreferences.s_CacheServerIPAddress = EditorGUILayout.DelayedTextField("IP Address", CacheServerPreferences.s_CacheServerIPAddress, new GUILayoutOption[0]); if (GUI.changed) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Unknown; } GUILayout.Space(5f); if (GUILayout.Button("Check Connection", new GUILayoutOption[] { GUILayout.Width(150f) })) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } GUILayout.Space(-25f); CacheServerPreferences.ConnectionState connectionState = CacheServerPreferences.s_ConnectionState; if (connectionState != CacheServerPreferences.ConnectionState.Success) { if (connectionState != CacheServerPreferences.ConnectionState.Failure) { if (connectionState == CacheServerPreferences.ConnectionState.Unknown) { GUILayout.Space(44f); } } else { EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, false); } } else { EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, false); } } else if (CacheServerPreferences.s_CacheServerMode == CacheServerPreferences.CacheServerMode.Local) { CacheServerPreferences.s_LocalCacheServerSize = EditorGUILayout.IntSlider(CacheServerPreferences.Styles.maxCacheSize, CacheServerPreferences.s_LocalCacheServerSize, 1, 200, new GUILayoutOption[0]); CacheServerPreferences.s_EnableCustomPath = EditorGUILayout.Toggle(CacheServerPreferences.Styles.customCacheLocation, CacheServerPreferences.s_EnableCustomPath, new GUILayoutOption[0]); if (CacheServerPreferences.s_EnableCustomPath) { GUIStyle miniButton = EditorStyles.miniButton; GUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.PrefixLabel(CacheServerPreferences.Styles.cacheFolderLocation, miniButton); Rect rect = GUILayoutUtility.GetRect(GUIContent.none, miniButton); GUIContent content = (!string.IsNullOrEmpty(CacheServerPreferences.s_CachePath)) ? new GUIContent(CacheServerPreferences.s_CachePath) : CacheServerPreferences.Styles.browse; if (EditorGUI.DropdownButton(rect, content, FocusType.Passive, miniButton)) { string folder = CacheServerPreferences.s_CachePath; string text = EditorUtility.OpenFolderPanel(CacheServerPreferences.Styles.browseCacheLocation.text, folder, ""); if (!string.IsNullOrEmpty(text)) { if (LocalCacheServer.CheckValidCacheLocation(text)) { CacheServerPreferences.s_CachePath = text; CacheServerPreferences.WritePreferences(); } else { EditorUtility.DisplayDialog("Invalid Cache Location", "The directory " + text + " contains some files which don't look like Unity Cache server files. Please delete the directory contents or choose another directory.", "OK"); } GUIUtility.ExitGUI(); } } GUILayout.EndHorizontal(); } else { CacheServerPreferences.s_CachePath = ""; } bool flag = LocalCacheServer.CheckCacheLocationExists(); if (flag) { GUIContent label = EditorGUIUtility.TextContent("Cache size is unknown"); if (CacheServerPreferences.s_LocalCacheServerUsedSize != -1L) { label = EditorGUIUtility.TextContent("Cache size is " + EditorUtility.FormatBytes(CacheServerPreferences.s_LocalCacheServerUsedSize)); } GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUIStyle miniButton2 = EditorStyles.miniButton; EditorGUILayout.PrefixLabel(label, miniButton2); Rect rect2 = GUILayoutUtility.GetRect(GUIContent.none, miniButton2); if (EditorGUI.Button(rect2, CacheServerPreferences.Styles.enumerateCache, miniButton2)) { CacheServerPreferences.s_LocalCacheServerUsedSize = ((!LocalCacheServer.CheckCacheLocationExists()) ? 0L : FileUtil.GetDirectorySize(LocalCacheServer.GetCacheLocation())); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUIContent blankContent = EditorGUIUtility.blankContent; EditorGUILayout.PrefixLabel(blankContent, miniButton2); Rect rect3 = GUILayoutUtility.GetRect(GUIContent.none, miniButton2); if (EditorGUI.Button(rect3, CacheServerPreferences.Styles.cleanCache, miniButton2)) { LocalCacheServer.Clear(); CacheServerPreferences.s_LocalCacheServerUsedSize = 0L; } GUILayout.EndHorizontal(); } else { EditorGUILayout.HelpBox("Local cache directory does not exist - please check that you can access the cache folder and are able to write to it", MessageType.Warning, false); CacheServerPreferences.s_LocalCacheServerUsedSize = -1L; } GUILayout.Label(CacheServerPreferences.Styles.cacheFolderLocation.text + ":", new GUILayoutOption[0]); GUILayout.Label(LocalCacheServer.GetCacheLocation(), CacheServerPreferences.s_Constants.cacheFolderLocation, new GUILayoutOption[0]); } if (EditorGUI.EndChangeCheck()) { CacheServerPreferences.s_HasPendingChanges = true; } if (CacheServerPreferences.s_HasPendingChanges && GUIUtility.hotControl == 0) { CacheServerPreferences.s_HasPendingChanges = false; CacheServerPreferences.WritePreferences(); CacheServerPreferences.ReadPreferences(); } } }
private void DoCacheServerSettings() { GUILayout.Space(10); GUILayout.Label(Content.cacheServer, EditorStyles.boldLabel); var overrideAddress = CacheServerPreferences.GetCommandLineRemoteAddressOverride(); if (overrideAddress != null) { EditorGUILayout.HelpBox("Cache Server remote address forced via command line argument. To use the cache server address specified here please restart Unity without the -CacheServerIPAddress command line argument.", MessageType.Info, true); } int index = Mathf.Clamp((int)EditorSettings.cacheServerMode, 0, cacheServerModePopupList.Length - 1); CreatePopupMenu(Content.mode.text, cacheServerModePopupList, index, SetCacheServerMode); if (index != (int)CacheServerMode.Disabled) { bool isCacheServerEnabled = true; if (index == (int)CacheServerMode.AsPreferences) { if (CacheServerPreferences.IsCacheServerV2Enabled) { var cacheServerIP = CacheServerPreferences.CachesServerV2Address; cacheServerIP = string.IsNullOrEmpty(cacheServerIP) ? "Not set in preferences" : cacheServerIP; EditorGUILayout.HelpBox(cacheServerIP, MessageType.None, false); } else { isCacheServerEnabled = false; EditorGUILayout.HelpBox("Disabled", MessageType.None, false); } } if (isCacheServerEnabled) { var oldEndpoint = EditorSettings.cacheServerEndpoint; var newEndpoint = EditorGUILayout.TextField(Content.cacheServerIPLabel, oldEndpoint); if (newEndpoint != oldEndpoint) { EditorSettings.cacheServerEndpoint = newEndpoint; } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Check Connection", GUILayout.Width(150))) { if (AssetDatabase.IsV2Enabled()) { var address = EditorSettings.cacheServerEndpoint.Split(':'); var ip = address[0]; UInt16 port = 0; // If 0, will use the default set port if (address.Length == 2) { port = Convert.ToUInt16(address[1]); } if (AssetDatabaseExperimental.CanConnectToCacheServer(ip, port)) { m_CacheServerConnectionState = CacheServerConnectionState.Success; } else { m_CacheServerConnectionState = CacheServerConnectionState.Failure; } } else { if (InternalEditorUtility.CanConnectToCacheServer()) { m_CacheServerConnectionState = CacheServerConnectionState.Success; } else { m_CacheServerConnectionState = CacheServerConnectionState.Failure; } } } GUILayout.Space(25); switch (m_CacheServerConnectionState) { case CacheServerConnectionState.Success: EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, true); break; case CacheServerConnectionState.Failure: EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, true); break; case CacheServerConnectionState.Unknown: GUILayout.Space(44); break; } EditorGUILayout.EndHorizontal(); var old = EditorSettings.cacheServerNamespacePrefix; var newvalue = EditorGUILayout.TextField(Content.cacheServerNamespacePrefixLabel, old); if (newvalue != old) { EditorSettings.cacheServerNamespacePrefix = newvalue; } EditorGUI.BeginChangeCheck(); bool enableDownload = EditorSettings.cacheServerEnableDownload; enableDownload = EditorGUILayout.Toggle(Content.cacheServerEnableDownloadLabel, enableDownload); if (EditorGUI.EndChangeCheck()) { EditorSettings.cacheServerEnableDownload = enableDownload; } EditorGUI.BeginChangeCheck(); bool enableUpload = EditorSettings.cacheServerEnableUpload; enableUpload = EditorGUILayout.Toggle(Content.cacheServerEnableUploadLabel, enableUpload); if (EditorGUI.EndChangeCheck()) { EditorSettings.cacheServerEnableUpload = enableUpload; } bool enableAuth = EditorSettings.cacheServerEnableAuth; using (new EditorGUI.DisabledScope(enableAuth)) { EditorGUI.BeginChangeCheck(); bool enableTls = EditorSettings.cacheServerEnableTls; enableTls = EditorGUILayout.Toggle(Content.cacheServerEnableTlsLabel, enableTls); if (EditorGUI.EndChangeCheck()) { EditorSettings.cacheServerEnableTls = enableTls; } } EditorGUI.BeginChangeCheck(); enableAuth = EditorGUILayout.Toggle(Content.cacheServerEnableAuthLabel, enableAuth); if (EditorGUI.EndChangeCheck()) { EditorSettings.cacheServerEnableAuth = enableAuth; if (enableAuth) { EditorSettings.cacheServerEnableTls = true; } } EditorGUI.indentLevel++; using (new EditorGUI.DisabledScope(!enableAuth)) { int authModeIndex = Convert.ToInt32(EditorUserSettings.GetConfigValue("cacheServerAuthMode")); CreatePopupMenu(Content.mode.text, cacheServerAuthMode, authModeIndex, SetCacheServerAuthMode); string oldUserVal = EditorUserSettings.GetConfigValue("cacheServerAuthUser"); var newUserVal = EditorGUILayout.TextField(Content.cacheServerAuthUserLabel, oldUserVal); if (newUserVal != oldUserVal) { EditorUserSettings.SetConfigValue("cacheServerAuthUser", newUserVal); } var oldPasswordVal = EditorUserSettings.GetConfigValue("cacheServerAuthPassword"); var newPasswordVal = EditorGUILayout.PasswordField(Content.cacheServerAuthPasswordLabel, oldPasswordVal); if (newPasswordVal != oldPasswordVal) { EditorUserSettings.SetPrivateConfigValue("cacheServerAuthPassword", newPasswordVal); } } EditorGUI.indentLevel--; } } }
public static void OnGUI() { EventType type = Event.current.type; if (CacheServerPreferences.s_Constants == null) { CacheServerPreferences.s_Constants = new CacheServerPreferences.Constants(); } GUILayout.Space(10f); if (!InternalEditorUtility.HasTeamLicense()) { GUILayout.Label(EditorGUIUtility.TempContent("You need to have a Pro or Team license to use the cache server.", EditorGUIUtility.GetHelpIcon(MessageType.Warning)), EditorStyles.helpBox, new GUILayoutOption[0]); } using (new EditorGUI.DisabledScope(!InternalEditorUtility.HasTeamLicense())) { if (!CacheServerPreferences.s_PrefsLoaded) { CacheServerPreferences.ReadPreferences(); if (CacheServerPreferences.s_CacheServerMode != CacheServerPreferences.CacheServerMode.Disabled && CacheServerPreferences.s_ConnectionState == CacheServerPreferences.ConnectionState.Unknown) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } CacheServerPreferences.s_PrefsLoaded = true; } EditorGUI.BeginChangeCheck(); if (Collab.instance.collabInfo.whitelisted && CacheServerPreferences.IsCollabCacheEnabled()) { CacheServerPreferences.s_CollabCacheEnabled = EditorGUILayout.Toggle("Use Collab Cache", CacheServerPreferences.s_CollabCacheEnabled, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(!CacheServerPreferences.s_CollabCacheEnabled)) { CacheServerPreferences.s_CollabCacheIPAddress = EditorGUILayout.TextField("Collab Cache IP Address", CacheServerPreferences.s_CollabCacheIPAddress, new GUILayoutOption[0]); } } CacheServerPreferences.s_CacheServerMode = (CacheServerPreferences.CacheServerMode)EditorGUILayout.EnumPopup("Cache Server Mode", CacheServerPreferences.s_CacheServerMode, new GUILayoutOption[0]); if (CacheServerPreferences.s_CacheServerMode == CacheServerPreferences.CacheServerMode.Remote) { CacheServerPreferences.s_CacheServerIPAddress = EditorGUILayout.DelayedTextField("IP Address", CacheServerPreferences.s_CacheServerIPAddress, new GUILayoutOption[0]); if (GUI.changed) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Unknown; } GUILayout.Space(5f); if (GUILayout.Button("Check Connection", new GUILayoutOption[] { GUILayout.Width(150f) })) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } GUILayout.Space(-25f); CacheServerPreferences.ConnectionState connectionState = CacheServerPreferences.s_ConnectionState; if (connectionState != CacheServerPreferences.ConnectionState.Success) { if (connectionState != CacheServerPreferences.ConnectionState.Failure) { if (connectionState == CacheServerPreferences.ConnectionState.Unknown) { GUILayout.Space(44f); } } else { EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, false); } } else { EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, false); } } else if (CacheServerPreferences.s_CacheServerMode == CacheServerPreferences.CacheServerMode.Local) { CacheServerPreferences.s_LocalCacheServerSize = EditorGUILayout.IntSlider(CacheServerPreferences.Styles.maxCacheSize, CacheServerPreferences.s_LocalCacheServerSize, 1, 200, new GUILayoutOption[0]); CacheServerPreferences.s_EnableCustomPath = EditorGUILayout.Toggle(CacheServerPreferences.Styles.customCacheLocation, CacheServerPreferences.s_EnableCustomPath, new GUILayoutOption[0]); if (CacheServerPreferences.s_EnableCustomPath) { GUIStyle popup = EditorStyles.popup; GUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.PrefixLabel(CacheServerPreferences.Styles.cacheFolderLocation, popup); Rect rect = GUILayoutUtility.GetRect(GUIContent.none, popup); GUIContent content = (!string.IsNullOrEmpty(CacheServerPreferences.s_CachePath)) ? new GUIContent(CacheServerPreferences.s_CachePath) : CacheServerPreferences.Styles.browse; if (EditorGUI.ButtonMouseDown(rect, content, FocusType.Passive, popup)) { string folder = CacheServerPreferences.s_CachePath; string text = EditorUtility.OpenFolderPanel(CacheServerPreferences.Styles.browseCacheLocation.text, folder, ""); if (!string.IsNullOrEmpty(text)) { if (LocalCacheServer.CheckValidCacheLocation(text)) { CacheServerPreferences.s_CachePath = text; CacheServerPreferences.WritePreferences(); } else { EditorUtility.DisplayDialog("Invalid Cache Location", "The directory " + text + " contains some files which don't look like Unity Cache server files. Please delete the directory contents or choose another directory.", "OK"); } } } GUILayout.EndHorizontal(); } else { CacheServerPreferences.s_CachePath = ""; } if (GUILayout.Button(CacheServerPreferences.Styles.cleanCache, new GUILayoutOption[] { GUILayout.Width(120f) })) { LocalCacheServer.Clear(); CacheServerPreferences.s_LocalCacheServerUsedSize = 0L; } if (CacheServerPreferences.s_LocalCacheServerUsedSize == -1L) { CacheServerPreferences.s_LocalCacheServerUsedSize = FileUtil.GetDirectorySize(LocalCacheServer.GetCacheLocation()); } GUILayout.Label(CacheServerPreferences.Styles.cacheSizeIs.text + " " + EditorUtility.FormatBytes(CacheServerPreferences.s_LocalCacheServerUsedSize), new GUILayoutOption[0]); GUILayout.Label(CacheServerPreferences.Styles.cacheFolderLocation.text + ":", new GUILayoutOption[0]); GUILayout.Label(LocalCacheServer.GetCacheLocation(), CacheServerPreferences.s_Constants.cacheFolderLocation, new GUILayoutOption[0]); } if (EditorGUI.EndChangeCheck()) { CacheServerPreferences.s_HasPendingChanges = true; } if ((CacheServerPreferences.s_HasPendingChanges && type == EventType.MouseUp) || type == EventType.KeyDown) { CacheServerPreferences.WritePreferences(); CacheServerPreferences.ReadPreferences(); CacheServerPreferences.s_HasPendingChanges = false; } } }
private void DoCacheServerSettings() { GUILayout.Space(10); GUILayout.Label(Content.cacheServer, EditorStyles.boldLabel); var overrideAddress = CacheServerPreferences.GetCommandLineRemoteAddressOverride(); if (overrideAddress != null) { EditorGUILayout.HelpBox("Cache Server remote address forced via command line argument. To use the cache server address specified here please restart Unity without the -CacheServerIPAddress command line argument.", MessageType.Info, true); } int index = Mathf.Clamp((int)m_CacheServerMode.intValue, 0, cacheServerModePopupList.Length - 1); CreatePopupMenu(Content.mode.text, cacheServerModePopupList, index, SetCacheServerMode); if (index != (int)CacheServerMode.Disabled) { bool isCacheServerEnabled = true; if (index == (int)CacheServerMode.AsPreferences) { if (CacheServerPreferences.IsCacheServerV2Enabled) { var cacheServerIP = CacheServerPreferences.CachesServerV2Address; cacheServerIP = string.IsNullOrEmpty(cacheServerIP) ? "Not set in preferences" : cacheServerIP; EditorGUILayout.HelpBox(cacheServerIP, MessageType.None, false); } else { isCacheServerEnabled = false; EditorGUILayout.HelpBox("Disabled", MessageType.None, false); } } if (isCacheServerEnabled) { m_CacheServerList.DoLayoutList(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Check Connection", GUILayout.Width(150))) { if (InternalEditorUtility.CanConnectToCacheServer()) { m_CacheServerConnectionState = CacheServerConnectionState.Success; } else { m_CacheServerConnectionState = CacheServerConnectionState.Failure; } } GUILayout.Space(25); switch (m_CacheServerConnectionState) { case CacheServerConnectionState.Success: EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, true); break; case CacheServerConnectionState.Failure: EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, true); break; case CacheServerConnectionState.Unknown: GUILayout.Space(44); break; } EditorGUILayout.EndHorizontal(); } } }
public static void OnGUI() { GUILayout.Space(10f); if (!InternalEditorUtility.HasTeamLicense()) { GUILayout.Label(EditorGUIUtility.TempContent("You need to have a Pro or Team license to use the cache server.", EditorGUIUtility.GetHelpIcon(MessageType.Warning)), EditorStyles.helpBox, new GUILayoutOption[0]); } using (new EditorGUI.DisabledScope(!InternalEditorUtility.HasTeamLicense())) { if (!CacheServerPreferences.s_PrefsLoaded) { CacheServerPreferences.ReadPreferences(); if (CacheServerPreferences.s_CacheServerEnabled && CacheServerPreferences.s_ConnectionState == CacheServerPreferences.ConnectionState.Unknown) { if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } CacheServerPreferences.s_PrefsLoaded = true; } EditorGUI.BeginChangeCheck(); if (Collab.instance.collabInfo.whitelisted) { CacheServerPreferences.s_CollabCacheEnabled = EditorGUILayout.Toggle("Use Collab Cache", CacheServerPreferences.s_CollabCacheEnabled, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(!CacheServerPreferences.s_CollabCacheEnabled)) { CacheServerPreferences.s_CollabCacheIPAddress = EditorGUILayout.TextField("Collab Cache IP Address", CacheServerPreferences.s_CollabCacheIPAddress, new GUILayoutOption[0]); } } CacheServerPreferences.s_CacheServerEnabled = EditorGUILayout.Toggle("Use Cache Server", CacheServerPreferences.s_CacheServerEnabled, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(!CacheServerPreferences.s_CacheServerEnabled)) { Rect controlRect = EditorGUILayout.GetControlRect(true, new GUILayoutOption[0]); int controlID = GUIUtility.GetControlID(FocusType.Keyboard, controlRect); CacheServerPreferences.s_CacheServerIPAddress = EditorGUI.DelayedTextFieldInternal(controlRect, controlID, GUIContent.Temp("IP Address"), CacheServerPreferences.s_CacheServerIPAddress, null, EditorStyles.textField); if (GUI.changed) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Unknown; CacheServerPreferences.WritePreferences(); } GUILayout.Space(5f); if (GUILayout.Button("Check Connection", new GUILayoutOption[] { GUILayout.Width(150f) })) { if (EditorGUI.s_DelayedTextEditor.IsEditingControl(controlID)) { string text = EditorGUI.s_DelayedTextEditor.text; EditorGUI.s_DelayedTextEditor.EndEditing(); if (text != CacheServerPreferences.s_CacheServerIPAddress) { CacheServerPreferences.s_CacheServerIPAddress = text; CacheServerPreferences.WritePreferences(); } } if (InternalEditorUtility.CanConnectToCacheServer()) { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Success; } else { CacheServerPreferences.s_ConnectionState = CacheServerPreferences.ConnectionState.Failure; } } GUILayout.Space(-25f); switch (CacheServerPreferences.s_ConnectionState) { case CacheServerPreferences.ConnectionState.Unknown: GUILayout.Space(44f); break; case CacheServerPreferences.ConnectionState.Success: EditorGUILayout.HelpBox("Connection successful.", MessageType.Info, false); break; case CacheServerPreferences.ConnectionState.Failure: EditorGUILayout.HelpBox("Connection failed.", MessageType.Warning, false); break; } } if (EditorGUI.EndChangeCheck()) { CacheServerPreferences.WritePreferences(); CacheServerPreferences.ReadPreferences(); } } }