bool IsOldVRSystemForCurrentBuildTargetGroupCorrect() => !VREditor.GetVREnabledOnTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
public static bool GetVirtualRealitySupported(BuildTargetGroup targetGroup) { return(VREditor.GetVREnabledOnTargetGroup(targetGroup)); }
private void RefreshData() { stringBuilder.Length = 0; Assembly editorAssembly = typeof(VRTK_SDKManagerEditor).Assembly; Assembly assembly = typeof(VRTK_SDKManager).Assembly; Append( "Versions", () => { Append("Unity", InternalEditorUtility.GetFullUnityVersion()); Type steamVRUpdateType = editorAssembly.GetType("SteamVR_Update"); if (steamVRUpdateType != null) { FieldInfo currentVersionField = steamVRUpdateType.GetField("currentVersion", BindingFlags.NonPublic | BindingFlags.Static); if (currentVersionField != null) { string currentVersion = (string)currentVersionField.GetValue(null); Append("SteamVR", currentVersion); } } Type ovrPluginType = assembly.GetType("OVRPlugin"); if (ovrPluginType != null) { Append( "OVRPlugin (Oculus Utilities)", () => { FieldInfo wrapperVersionField = ovrPluginType.GetField("wrapperVersion", BindingFlags.Public | BindingFlags.Static); if (wrapperVersionField != null) { Version wrapperVersion = (Version)wrapperVersionField.GetValue(null); Append("wrapperVersion", wrapperVersion); } PropertyInfo versionField = ovrPluginType.GetProperty("version", BindingFlags.Public | BindingFlags.Static); if (versionField != null) { Version version = (Version)versionField.GetGetMethod().Invoke(null, null); Append("version", version); } PropertyInfo nativeSDKVersionField = ovrPluginType.GetProperty("nativeSDKVersion", BindingFlags.Public | BindingFlags.Static); if (nativeSDKVersionField != null) { Version nativeSDKVersion = (Version)nativeSDKVersionField.GetGetMethod().Invoke(null, null); Append("nativeSDKVersion", nativeSDKVersion); } } ); } } ); Append( "VR Settings", () => { foreach (BuildTargetGroup targetGroup in VRTK_SharedMethods.GetValidBuildTargetGroups()) { bool isVREnabled; #if UNITY_5_5_OR_NEWER isVREnabled = VREditor.GetVREnabledOnTargetGroup(targetGroup); #else isVREnabled = VREditor.GetVREnabled(targetGroup); #endif if (!isVREnabled) { continue; } string[] vrEnabledDevices; #if UNITY_5_5_OR_NEWER vrEnabledDevices = VREditor.GetVREnabledDevicesOnTargetGroup(targetGroup); #else vrEnabledDevices = VREditor.GetVREnabledDevices(targetGroup); #endif Append(targetGroup, string.Join(", ", vrEnabledDevices)); } } ); Append( "Scripting Define Symbols", () => { foreach (BuildTargetGroup targetGroup in VRTK_SharedMethods.GetValidBuildTargetGroups()) { string symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup); if (!string.IsNullOrEmpty(symbols)) { Append(targetGroup, symbols); } } } ); stringBuilder.Length--; }
protected virtual void OnGUI() { GUILayout.BeginVertical(); //Draw the Title GUILayout.Space(10); GUILayout.Label("<color=red>Lenovo MirageAR Settings</color>", m_TitleStyle); //Image Title //var resourcePath = GetResourcePath(); //var logo = AssetDatabase.LoadAssetAtPath<Texture2D>(resourcePath + "lenovo_logo_red.png"); //var rect = GUILayoutUtility.GetRect(position.width, 150, GUI.skin.box); //if (logo) // GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit); //Draw help text EditorGUILayout.HelpBox("Recommended project settings for LenovoMirageAR!", MessageType.Warning); #if !UNITY_2017_2 EditorGUILayout.HelpBox("Recommended Use Unity 2017.2.0f3!", MessageType.Error); #endif DrawSeparator(); m_ScrollPosition = EditorGUILayout.BeginScrollView(m_ScrollPosition); //1,Check Build Target #region Build Target Setting EditorGUILayout.LabelField("Build Target Setting", m_HeaderStyle); GUILayout.Space(10); BeginGroup(); EditorGUILayout.BeginHorizontal(); if (s_BuildTargetNames == null) { BuildTargetTypes(); } buildTargetPopupIndex = EditorGUILayout.Popup("Build Target", buildTargetPopupIndex, s_BuildTargetNames); switch (buildTargetPopupIndex) { case 0: if (EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget_Android) { if (GUILayout.Button("Switch", GUILayout.Width(80))) { EditorUserBuildSettings.SwitchActiveBuildTargetAsync(BuildTargetGroup.Android, recommended_BuildTarget_Android); } } break; case 1: if (EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget_iOS) { if (GUILayout.Button("Switch", GUILayout.Width(80))) { EditorUserBuildSettings.SwitchActiveBuildTargetAsync(BuildTargetGroup.iOS, recommended_BuildTarget_iOS); } } break; default: break; } GUILayout.Space(10); GUILayout.EndHorizontal(); EndGroup(); if (EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget_Android && EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget_iOS) { //Draw help text EditorGUILayout.HelpBox("LenovoMirageAR Only Support Anndroid&iOS,Please Switch To Target Platform First!", MessageType.Error); EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); return; } #endregion Build Target Setting int numItems = 0; DrawSeparator(); EditorGUILayout.LabelField("Build Settings", m_HeaderStyle); GUILayout.Space(10); BeginGroup(); //2,Check Build Setting for Android if (EditorUserBuildSettings.activeBuildTarget == recommended_BuildTarget_Android) { //Orientation Right if (!CheckOrientation()) { ++numItems; GUILayout.Label(defaultOrientation + string.Format(currentValue, PlayerSettings.defaultInterfaceOrientation)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_defaultOrientation))) { SetOrientation(); } GUILayout.EndHorizontal(); } //Show SplashScreen if (!CheckShowSplashScreen()) { ++numItems; GUILayout.Label(showSplashScreen + string.Format(currentValue, PlayerSettings.SplashScreen.show)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_showSplashScreen))) { SetShowSplashScreen(); } GUILayout.EndHorizontal(); } //Android min SDK if (!CheckAndroidMinSDK()) { ++numItems; GUILayout.Label(AndroidMinSDK + string.Format(currentValue, PlayerSettings.Android.minSdkVersion)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_AndroidMinSDK))) { SetAndroidMinSDK(); } GUILayout.EndHorizontal(); } //Andrid Target SDK if (!CheckAndroidTargetSDK()) { ++numItems; GUILayout.Label(AndroidTargetSDK + string.Format(currentValue, PlayerSettings.Android.targetSdkVersion)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_AndroidTargetSDK))) { SetAndroidTargetSDK(); } GUILayout.EndHorizontal(); } //XR Setting if (!CheckXRSettings(BuildTargetGroup.Android)) { ++numItems; string value = string.Empty; if (VREditor.GetVREnabledOnTargetGroup(BuildTargetGroup.Android)) { value = "VR Enalbe;Devices="; string[] currentSupportDevices = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android); if (currentSupportDevices.Length == 0) { value += "Empty"; } else { value += string.Join(",", currentSupportDevices); } } else { value = "VR Disable"; } GUILayout.Label(XRSettings + string.Format(currentValue, value)); GUILayout.BeginHorizontal(); string recommend = recommended_VirtualRealitySDKs_First + "," + recommended_VirtualRealitySDKs_Second; if (GUILayout.Button(string.Format(useRecommended, recommend))) { SetXRSettings(BuildTargetGroup.Android); } GUILayout.EndHorizontal(); } //Scrip DefineSymbols if (!CheckScriptingDefineSymbols(BuildTargetGroup.Android)) { ++numItems; GUILayout.Label(string.Format("{0} miss {1}", ScriptingDefineSymbols, recommended_VRTKMirageScriptingDefineSymbols)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_VRTKMirageScriptingDefineSymbols))) { SetScriptingDefineSymbols(BuildTargetGroup.Android); } GUILayout.EndHorizontal(); } //Start Scene if (!CheckStartScene()) { ++numItems; string labelText = ""; if (EditorBuildSettings.scenes.Length == 0) { labelText = string.Format(currentValue, "null"); } else if (EditorBuildSettings.scenes[0].path != recommended_StartScene) { labelText = string.Format(currentValue, EditorBuildSettings.scenes[0].path); } else if (!EditorBuildSettings.scenes[0].enabled) { labelText = string.Format(currentValue, EditorBuildSettings.scenes[0].path + " disable"); } GUILayout.Label(StartScene + labelText); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_StartScene))) { SetStartScene(); } GUILayout.EndHorizontal(); } } else if (EditorUserBuildSettings.activeBuildTarget == recommended_BuildTarget_iOS) //2,Check Build Setting for iOS { //Orientation Right if (PlayerSettings.defaultInterfaceOrientation != recommended_defaultOrientation) { ++numItems; GUILayout.Label(defaultOrientation + string.Format(currentValue, PlayerSettings.defaultInterfaceOrientation)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_defaultOrientation))) { PlayerSettings.defaultInterfaceOrientation = recommended_defaultOrientation; } GUILayout.EndHorizontal(); } //Show SplashScreen if (!CheckShowSplashScreen()) { ++numItems; GUILayout.Label(showSplashScreen + string.Format(currentValue, PlayerSettings.SplashScreen.show)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_showSplashScreen))) { SetShowSplashScreen(); } GUILayout.EndHorizontal(); } //XR Setting if (!(CheckXRSettings(BuildTargetGroup.iOS))) { ++numItems; string value = string.Empty; if (VREditor.GetVREnabledOnTargetGroup(BuildTargetGroup.iOS)) { value = "VR Enalbe;Devices="; string[] currentSupportDevices = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.iOS); if (currentSupportDevices.Length == 0) { value += "Empty"; } else { value += string.Join(",", currentSupportDevices); } } else { value = "VR Disable"; } GUILayout.Label(XRSettings + string.Format(currentValue, value)); GUILayout.BeginHorizontal(); string recommend = recommended_VirtualRealitySDKs_First + "," + recommended_VirtualRealitySDKs_Second; if (GUILayout.Button(string.Format(useRecommended, recommend))) { VREditor.SetVREnabledOnTargetGroup(BuildTargetGroup.iOS, true); VREditor.SetVREnabledDevicesOnTargetGroup(BuildTargetGroup.iOS, VRDevice); } GUILayout.EndHorizontal(); } //Scrip DefineSymbols if (!CheckScriptingDefineSymbols(BuildTargetGroup.iOS)) { ++numItems; GUILayout.Label(string.Format("{0} miss {1}", ScriptingDefineSymbols, recommended_VRTKMirageScriptingDefineSymbols)); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_VRTKMirageScriptingDefineSymbols))) { SetScriptingDefineSymbols(BuildTargetGroup.iOS); } GUILayout.EndHorizontal(); } //Start Scene if (!CheckStartScene()) { ++numItems; string labelText = ""; if (EditorBuildSettings.scenes.Length == 0) { labelText = string.Format(currentValue, "null"); } else if (EditorBuildSettings.scenes[0].path != recommended_StartScene) { labelText = string.Format(currentValue, EditorBuildSettings.scenes[0].path); } else if (!EditorBuildSettings.scenes[0].enabled) { labelText = string.Format(currentValue, EditorBuildSettings.scenes[0].path + " disable"); } GUILayout.Label(StartScene + labelText); GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format(useRecommended, recommended_StartScene))) { SetStartScene(); } GUILayout.EndHorizontal(); } } EndGroup(); if (numItems > 0) { EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Accept All")) { SetBuildSettings(); } GUILayout.EndHorizontal(); } else { GUILayout.Label("<color=green>Set Correctly!</color>", m_TitleStyle); EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Close")) { Close(); } GUILayout.EndHorizontal(); } }
bool IsVRSupportedForCurrentBuildTargetGroupCorrect() => VREditor.GetVREnabledOnTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
public override void OnInspectorGUI() { settings.Update(); var c = (Camera)target; m_ShowBGColorOptions.target = !clearFlagsHasMultipleValues && (c.clearFlags == CameraClearFlags.SolidColor || c.clearFlags == CameraClearFlags.Skybox); m_ShowOrthoOptions.target = !orthographicHasMultipleValues && c.orthographic; bool displaySubsystemPresent = displayDescriptors.Count > 0; m_ShowTargetEyeOption.target = targetEyeValue != (int)StereoTargetEyeMask.Both || VREditor.GetVREnabledOnTargetGroup(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)) || displaySubsystemPresent; settings.DrawClearFlags(); if (EditorGUILayout.BeginFadeGroup(m_ShowBGColorOptions.faded)) { settings.DrawBackgroundColor(); } EditorGUILayout.EndFadeGroup(); settings.DrawCullingMask(); EditorGUILayout.Space(); settings.DrawProjection(); if (displaySubsystemPresent && targetEyeValue != (int)StereoTargetEyeMask.None && c.orthographic && c.targetTexture == null) { GUILayout.Label(EditorGUIUtility.TrTextContent("Orthographic projection is not supported when running in XR.", "One or more XR Plug-in providers were detected in your project. Using Orthographic projection is not supported when running in XR and enabling this may cause problems.", EditorGUIUtility.warningIcon)); } settings.DrawClippingPlanes(); settings.DrawNormalizedViewPort(); EditorGUILayout.Space(); settings.DrawDepth(); settings.DrawRenderingPath(); if (m_ShowOrthoOptions.target && wantDeferredRendering) { EditorGUILayout.HelpBox("Deferred rendering does not work with Orthographic camera, will use Forward.", MessageType.Warning, true); } settings.DrawTargetTexture(wantDeferredRendering); settings.DrawOcclusionCulling(); settings.DrawHDR(); settings.DrawMSAA(); settings.DrawDynamicResolution(); foreach (Camera camera in targets) { if (camera != null) { Settings.DrawCameraWarnings(camera); } } settings.DrawVR(); EditorGUILayout.Space(); settings.DrawMultiDisplay(); if (EditorGUILayout.BeginFadeGroup(m_ShowTargetEyeOption.faded)) { settings.DrawTargetEye(); } EditorGUILayout.EndFadeGroup(); DepthTextureModeGUI(); CommandBufferGUI(); serializedObject.ApplyModifiedProperties(); }
public void OnEnable() { settings.OnEnable(); var c = (Camera)target; m_ShowBGColorOptions.value = !clearFlagsHasMultipleValues && (c.clearFlags == CameraClearFlags.SolidColor || c.clearFlags == CameraClearFlags.Skybox); m_ShowOrthoOptions.value = c.orthographic; m_ShowTargetEyeOption.value = targetEyeValue != (int)StereoTargetEyeMask.Both || VREditor.GetVREnabledOnTargetGroup(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)); m_ShowBGColorOptions.valueChanged.AddListener(Repaint); m_ShowOrthoOptions.valueChanged.AddListener(Repaint); m_ShowTargetEyeOption.valueChanged.AddListener(Repaint); SubsystemManager.GetSubsystemDescriptors(displayDescriptors); SubsystemManager.afterReloadSubsystems += OnReloadSubsystemsComplete; }
private void HandleTargetField(VideoRenderMode currentRenderMode) { this.m_ShowRenderTexture.target = (currentRenderMode == VideoRenderMode.RenderTexture); if (EditorGUILayout.BeginFadeGroup(this.m_ShowRenderTexture.faded)) { EditorGUILayout.PropertyField(this.m_TargetTexture, VideoPlayerEditor.s_Styles.textureContent, new GUILayoutOption[0]); } EditorGUILayout.EndFadeGroup(); this.m_ShowTargetCamera.target = (currentRenderMode == VideoRenderMode.CameraFarPlane || currentRenderMode == VideoRenderMode.CameraNearPlane); if (EditorGUILayout.BeginFadeGroup(this.m_ShowTargetCamera.faded)) { EditorGUILayout.PropertyField(this.m_TargetCamera, VideoPlayerEditor.s_Styles.cameraContent, new GUILayoutOption[0]); EditorGUILayout.Slider(this.m_TargetCameraAlpha, 0f, 1f, VideoPlayerEditor.s_Styles.alphaContent, new GUILayoutOption[0]); BuildPlatform[] buildPlatforms = BuildPlatforms.instance.buildPlatforms; for (int i = 0; i < buildPlatforms.Length; i++) { BuildPlatform buildPlatform = buildPlatforms[i]; if (VREditor.GetVREnabledOnTargetGroup(buildPlatform.targetGroup)) { EditorGUILayout.PropertyField(this.m_TargetCamera3DLayout, VideoPlayerEditor.s_Styles.camera3DLayout, new GUILayoutOption[0]); break; } } } EditorGUILayout.EndFadeGroup(); this.m_ShowRenderer.target = (currentRenderMode == VideoRenderMode.MaterialOverride); if (EditorGUILayout.BeginFadeGroup(this.m_ShowRenderer.faded)) { bool flag = base.targets.Count <UnityEngine.Object>() > 1; if (flag) { EditorGUILayout.PropertyField(this.m_TargetMaterialRenderer, VideoPlayerEditor.s_Styles.materialRendererContent, new GUILayoutOption[0]); } else { Rect controlRect = EditorGUILayout.GetControlRect(true, 16f, new GUILayoutOption[0]); GUIContent label = EditorGUI.BeginProperty(controlRect, VideoPlayerEditor.s_Styles.materialRendererContent, this.m_TargetMaterialRenderer); EditorGUI.BeginChangeCheck(); UnityEngine.Object objectReferenceValue = EditorGUI.ObjectField(controlRect, label, VideoPlayerEditor.GetTargetRenderer((VideoPlayer)base.target), typeof(Renderer), true); if (EditorGUI.EndChangeCheck()) { this.m_TargetMaterialRenderer.objectReferenceValue = objectReferenceValue; } EditorGUI.EndProperty(); } int materialPropertyPopupHash = VideoPlayerEditor.GetMaterialPropertyPopupHash(base.targets); if (this.m_MaterialPropertyPopupContentHash != materialPropertyPopupHash) { UnityEngine.Object[] arg_22D_0 = base.targets; if (VideoPlayerEditor.< > f__mg$cache1 == null) { VideoPlayerEditor.< > f__mg$cache1 = new VideoPlayerEditor.EntryGenerator(VideoPlayerEditor.GetMaterialPropertyNames); } this.m_MaterialPropertyPopupContent = VideoPlayerEditor.BuildPopupEntries(arg_22D_0, VideoPlayerEditor.< > f__mg$cache1, out this.m_MaterialPropertyPopupSelection, out this.m_MaterialPropertyPopupInvalidSelections); } VideoPlayerEditor.HandlePopup(VideoPlayerEditor.s_Styles.materialPropertyContent, this.m_TargetMaterialProperty, this.m_MaterialPropertyPopupContent, this.m_MaterialPropertyPopupSelection); if (this.m_MaterialPropertyPopupInvalidSelections > 0 || this.m_MaterialPropertyPopupContent.Length == 0) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.Space(EditorGUIUtility.labelWidth); if (this.m_MaterialPropertyPopupContent.Length == 0) { if (!flag) { EditorGUILayout.HelpBox(VideoPlayerEditor.s_Styles.rendererMaterialsHaveNoTexPropsHelp, MessageType.Warning); } else { EditorGUILayout.HelpBox(VideoPlayerEditor.s_Styles.someRendererMaterialsHaveNoTexPropsHelp, MessageType.Warning); } } else if (!flag) { EditorGUILayout.HelpBox(VideoPlayerEditor.s_Styles.invalidTexPropSelectionHelp, MessageType.Warning); } else if (this.m_MaterialPropertyPopupInvalidSelections == 1) { EditorGUILayout.HelpBox(VideoPlayerEditor.s_Styles.oneInvalidTexPropSelectionHelp, MessageType.Warning); } else { EditorGUILayout.HelpBox(string.Format(VideoPlayerEditor.s_Styles.someInvalidTexPropSelectionsHelp, this.m_MaterialPropertyPopupInvalidSelections), MessageType.Warning); } GUILayout.EndHorizontal(); } else { this.DisplayMultiMaterialInformation(this.m_MaterialPropertyPopupContentHash != materialPropertyPopupHash); } this.m_MaterialPropertyPopupContentHash = materialPropertyPopupHash; } EditorGUILayout.EndFadeGroup(); this.m_ShowAspectRatio.target = (currentRenderMode != VideoRenderMode.MaterialOverride && currentRenderMode != VideoRenderMode.APIOnly); if (EditorGUILayout.BeginFadeGroup(this.m_ShowAspectRatio.faded)) { EditorGUILayout.PropertyField(this.m_AspectRatio, VideoPlayerEditor.s_Styles.aspectRatioLabel, new GUILayoutOption[0]); } EditorGUILayout.EndFadeGroup(); }
private void AllRootCanvases() { if (VREditor.GetVREnabledOnTargetGroup(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)) && (m_RenderMode.enumValueIndex == (int)RenderMode.ScreenSpaceOverlay)) { EditorGUILayout.HelpBox("Using a render mode of ScreenSpaceOverlay while VR is enabled will cause the Canvas to continue to incur a rendering cost, even though the Canvas will not be visible in VR.", MessageType.Warning); } EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(m_RenderMode); if (EditorGUI.EndChangeCheck()) { var rectTransforms = targets.Select(c => (c as Canvas).transform).ToArray(); Undo.RegisterCompleteObjectUndo(rectTransforms, "Modified RectTransform Values"); serializedObject.ApplyModifiedProperties(); foreach (Canvas canvas in targets) { canvas.UpdateCanvasRectTransform(true); } GUIUtility.ExitGUI(); } m_OverlayMode.target = m_RenderMode.intValue == 0; m_CameraMode.target = m_RenderMode.intValue == 1; m_WorldMode.target = m_RenderMode.intValue == 2; EditorGUI.indentLevel++; if (EditorGUILayout.BeginFadeGroup(m_OverlayMode.faded)) { DoPixelPerfectGUIForRoot(); EditorGUILayout.PropertyField(m_SortingOrder, Styles.sortingOrder); GUIContent[] displayNames = DisplayUtility.GetDisplayNames(); EditorGUILayout.IntPopup(m_TargetDisplay, displayNames, DisplayUtility.GetDisplayIndices(), Styles.targetDisplay); } EditorGUILayout.EndFadeGroup(); if (EditorGUILayout.BeginFadeGroup(m_CameraMode.faded)) { DoPixelPerfectGUIForRoot(); EditorGUILayout.PropertyField(m_Camera, Styles.renderCamera); if (m_Camera.objectReferenceValue == null) { EditorGUILayout.HelpBox("A Screen Space Canvas with no specified camera acts like an Overlay Canvas.", MessageType.Warning); } if (m_Camera.objectReferenceValue != null) { EditorGUILayout.PropertyField(m_PlaneDistance); EditorGUILayout.PropertyField(m_UpdateRectTransformForStandalone, Styles.standaloneRenderResize); } EditorGUILayout.Space(); if (m_Camera.objectReferenceValue != null) { EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, m_SortingLayerID, EditorStyles.popup, EditorStyles.label); } EditorGUILayout.PropertyField(m_SortingOrder, Styles.m_SortingOrderStyle); } EditorGUILayout.EndFadeGroup(); if (EditorGUILayout.BeginFadeGroup(m_WorldMode.faded)) { EditorGUILayout.PropertyField(m_Camera, Styles.eventCamera); if (m_Camera.objectReferenceValue == null) { EditorGUILayout.HelpBox("A World Space Canvas with no specified Event Camera may not register UI events correctly.", MessageType.Warning); } EditorGUILayout.Space(); EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, m_SortingLayerID, EditorStyles.popup); EditorGUILayout.PropertyField(m_SortingOrder, Styles.m_SortingOrderStyle); } EditorGUILayout.EndFadeGroup(); EditorGUI.indentLevel--; }