private static void ShowSdkInstalledMenu() { isObjectFieldActive = sdkFolder == null; if (_previoussSdkFolderPath != sdkFolder) { // something changed, better save the result. _previoussSdkFolderPath = sdkFolder; PlayFabEditorDataService.EnvDetails.sdkPath = (AssetDatabase.GetAssetPath(sdkFolder)); PlayFabEditorDataService.SaveEnvDetails(); isObjectFieldActive = false; } var labelStyle = new GUIStyle(PlayFabEditorHelper.uiStyle.GetStyle("titleLabel")); using (new UnityVertical(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"))) { EditorGUILayout.LabelField(string.Format("SDK {0} is installed", string.IsNullOrEmpty(installedSdkVersion) ? "Unknown" : installedSdkVersion), labelStyle, GUILayout.MinWidth(EditorGUIUtility.currentViewWidth)); if (!isObjectFieldActive) { GUI.enabled = false; } else { EditorGUILayout.LabelField( "An SDK was detected, but we were unable to find the directory. Drag-and-drop the top-level PlayFab SDK folder below.", PlayFabEditorHelper.uiStyle.GetStyle("orTxt")); } using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear"))) { GUILayout.FlexibleSpace(); sdkFolder = EditorGUILayout.ObjectField(sdkFolder, typeof(UnityEngine.Object), false, GUILayout.MaxWidth(200)); GUILayout.FlexibleSpace(); } if (!isObjectFieldActive) { // this is a hack to prevent our "block while loading technique" from breaking up at this point. GUI.enabled = !EditorApplication.isCompiling && PlayFabEditor.blockingRequests.Count == 0; } if (isSdkSupported && sdkFolder != null) { using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear"))) { GUILayout.FlexibleSpace(); if (GUILayout.Button("REMOVE SDK", PlayFabEditorHelper.uiStyle.GetStyle("textButton"), GUILayout.MinHeight(32), GUILayout.MinWidth(200))) { RemoveSdk(); } GUILayout.FlexibleSpace(); } } } if (sdkFolder != null) { using (new UnityVertical(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"))) { isSdkSupported = false; string[] versionNumber = !string.IsNullOrEmpty(installedSdkVersion) ? installedSdkVersion.Split('.') : new string[0]; var numerical = 0; if (string.IsNullOrEmpty(installedSdkVersion) || versionNumber == null || versionNumber.Length == 0 || (versionNumber.Length > 0 && int.TryParse(versionNumber[0], out numerical) && numerical < 2)) { //older version of the SDK using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear"))) { EditorGUILayout.LabelField("Most of the Editor Extensions depend on SDK versions >2.0. Consider upgrading to the get most features.", PlayFabEditorHelper.uiStyle.GetStyle("orTxt")); } using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear"))) { GUILayout.FlexibleSpace(); if (GUILayout.Button("READ THE UPGRADE GUIDE", PlayFabEditorHelper.uiStyle.GetStyle("textButton"), GUILayout.MinHeight(32))) { Application.OpenURL("https://github.com/PlayFab/UnitySDK/blob/master/UPGRADE.md"); } GUILayout.FlexibleSpace(); } } else if (numerical >= 2) { isSdkSupported = true; } using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear"))) { if (ShowSDKUpgrade() && isSdkSupported) { GUILayout.FlexibleSpace(); if (GUILayout.Button("Upgrade to " + latestSdkVersion, PlayFabEditorHelper.uiStyle.GetStyle("Button"), GUILayout.MinHeight(32))) { UpgradeSdk(); } GUILayout.FlexibleSpace(); } else if (isSdkSupported) { GUILayout.FlexibleSpace(); EditorGUILayout.LabelField("You have the latest SDK!", labelStyle, GUILayout.MinHeight(32)); GUILayout.FlexibleSpace(); } } } } if (isSdkSupported && string.IsNullOrEmpty(PlayFabEditorDataService.SharedSettings.TitleId)) { using (new UnityVertical(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"))) { EditorGUILayout.LabelField("Before making PlayFab API calls, the SDK must be configured to your PlayFab Title.", PlayFabEditorHelper.uiStyle.GetStyle("orTxt")); using (new UnityHorizontal()) { GUILayout.FlexibleSpace(); if (GUILayout.Button("SET MY TITLE", PlayFabEditorHelper.uiStyle.GetStyle("textButton"))) { PlayFabEditorMenu.OnSettingsClicked(); } GUILayout.FlexibleSpace(); } } } using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"))) { GUILayout.FlexibleSpace(); if (GUILayout.Button("VIEW RELEASE NOTES", PlayFabEditorHelper.uiStyle.GetStyle("textButton"), GUILayout.MinHeight(32), GUILayout.MinWidth(200))) { Application.OpenURL("https://api.playfab.com/releaseNotes/"); } GUILayout.FlexibleSpace(); } }
private void OnGuiInternal() { GUI.skin = PlayFabEditorHelper.uiStyle; using (new UnityVertical()) { //Run all updaters prior to drawing; PlayFabEditorHeader.DrawHeader(); GUI.enabled = blockingRequests.Count == 0 && !EditorApplication.isCompiling; if (PlayFabEditorAuthenticate.IsAuthenticated()) { PlayFabEditorMenu.DrawMenu(); switch (PlayFabEditorMenu._menuState) { case PlayFabEditorMenu.MenuStates.Sdks: PlayFabEditorSDKTools.DrawSdkPanel(); break; case PlayFabEditorMenu.MenuStates.Settings: PlayFabEditorSettings.DrawSettingsPanel(); break; case PlayFabEditorMenu.MenuStates.Help: PlayFabEditorHelpMenu.DrawHelpPanel(); break; case PlayFabEditorMenu.MenuStates.Data: PlayFabEditorDataMenu.DrawDataPanel(); break; case PlayFabEditorMenu.MenuStates.Tools: PlayFabEditorToolsMenu.DrawToolsPanel(); break; case PlayFabEditorMenu.MenuStates.Packages: PlayFabEditorPackages.DrawPackagesMenu(); break; default: break; } } else { PlayFabEditorAuthenticate.DrawAuthPanels(); } using (new UnityVertical(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"), GUILayout.ExpandHeight(true), GUILayout.ExpandWidth(true))) { GUILayout.FlexibleSpace(); } // help tag at the bottom of the help menu. if (PlayFabEditorMenu._menuState == PlayFabEditorMenu.MenuStates.Help) { DisplayHelpMenu(); } } PruneBlockingRequests(); Repaint(); }