void OnGUI() { var dirtyCount = PhysicsVisualizationSettings.dirtyCount; EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); GUILayout.FlexibleSpace(); if (GUILayout.Button("Reset", EditorStyles.toolbarButton)) { PhysicsVisualizationSettings.Reset(); } EditorGUILayout.EndHorizontal(); m_MainScrollPos = GUILayout.BeginScrollView(m_MainScrollPos); { EditorGUILayout.Space(); m_ShowInfoFoldout.value = EditorGUILayout.Foldout(m_ShowInfoFoldout.value, Style.selectedObjectInfo); if (m_ShowInfoFoldout.value) { EditorGUI.indentLevel++; EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(true); var transforms = Selection.transforms; if (transforms.Length > 0) { foreach (var tr in transforms) { EditorGUILayout.TextField(Style.gameObject, tr.name); EditorGUILayout.TextField(Style.scene, tr.gameObject.scene.name); } } EditorGUI.EndDisabledGroup(); Repaint(); EditorGUI.indentLevel--; } } GUILayout.Space(4); int sceneCount = SceneManager.sceneCount; List <string> options = new List <string>(); for (int i = 0; i < sceneCount; ++i) { var scene = SceneManager.GetSceneAt(i); options.Add(string.Format("{0} ", scene.name)); } int newPhysicsSceneMask = EditorGUILayout.MaskField(Style.showPhysicsScenes, PhysicsVisualizationSettings.GetShowPhysicsSceneMask(), options.ToArray()); PhysicsVisualizationSettings.SetShowPhysicsSceneMask(newPhysicsSceneMask); // Layers int oldConcatenatedMask = InternalEditorUtility.LayerMaskToConcatenatedLayersMask( PhysicsVisualizationSettings.GetShowCollisionLayerMask()); int newConcatenatedMask = EditorGUILayout.MaskField( Style.showLayers, oldConcatenatedMask, InternalEditorUtility.layers); PhysicsVisualizationSettings.SetShowCollisionLayerMask( (int)InternalEditorUtility.ConcatenatedLayersMaskToLayerMask(newConcatenatedMask)); // Static Colliders PhysicsVisualizationSettings.SetShowStaticColliders(EditorGUILayout.Toggle( Style.showStaticCollider, PhysicsVisualizationSettings.GetShowStaticColliders())); // Triggers PhysicsVisualizationSettings.SetShowTriggers(EditorGUILayout.Toggle( Style.showTriggers, PhysicsVisualizationSettings.GetShowTriggers())); // Rigidbodies PhysicsVisualizationSettings.SetShowRigidbodies(EditorGUILayout.Toggle( Style.showRigibodies, PhysicsVisualizationSettings.GetShowRigidbodies())); // Kinematic Bodies PhysicsVisualizationSettings.SetShowKinematicBodies(EditorGUILayout.Toggle( Style.showKinematicBodies, PhysicsVisualizationSettings.GetShowKinematicBodies())); // Sleeping Bodies PhysicsVisualizationSettings.SetShowSleepingBodies(EditorGUILayout.Toggle( Style.showSleepingBodies, PhysicsVisualizationSettings.GetShowSleepingBodies())); m_ShowColliderTypeFoldout.value = EditorGUILayout.Foldout(m_ShowColliderTypeFoldout.value, Style.colliderTypes); if (m_ShowColliderTypeFoldout.value) { EditorGUI.indentLevel++; float oldWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200; // BoxCollider PhysicsVisualizationSettings.SetShowBoxColliders(EditorGUILayout.Toggle( Style.showBoxCollider, PhysicsVisualizationSettings.GetShowBoxColliders())); // SphereCollider PhysicsVisualizationSettings.SetShowSphereColliders(EditorGUILayout.Toggle( Style.showSphereCollider, PhysicsVisualizationSettings.GetShowSphereColliders())); // CapsuleCollider PhysicsVisualizationSettings.SetShowCapsuleColliders(EditorGUILayout.Toggle( Style.showCapsuleCollider, PhysicsVisualizationSettings.GetShowCapsuleColliders())); // MeshCollider convex PhysicsVisualizationSettings.SetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.Convex, EditorGUILayout.Toggle( Style.showConvexMeshCollider, PhysicsVisualizationSettings.GetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.Convex))); // MeshCollider non-convex PhysicsVisualizationSettings.SetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.NonConvex, EditorGUILayout.Toggle( Style.showConcaveMeshCollider, PhysicsVisualizationSettings.GetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.NonConvex))); // TerrainCollider PhysicsVisualizationSettings.SetShowTerrainColliders(EditorGUILayout.Toggle( Style.showTerrainCollider, PhysicsVisualizationSettings.GetShowTerrainColliders())); EditorGUIUtility.labelWidth = oldWidth; EditorGUI.indentLevel--; } GUILayout.Space(4); // Selection buttons GUILayout.BeginHorizontal(); bool selectNone = GUILayout.Button(Style.showNone); bool selectAll = GUILayout.Button(Style.showAll); if (selectNone || selectAll) { PhysicsVisualizationSettings.SetShowForAllFilters(selectAll); } GUILayout.EndHorizontal(); m_ColorFoldout.value = EditorGUILayout.Foldout(m_ColorFoldout.value, Style.colors); if (m_ColorFoldout.value) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.staticColor = EditorGUILayout.ColorField(Style.staticColor, PhysicsVisualizationSettings.staticColor); PhysicsVisualizationSettings.triggerColor = EditorGUILayout.ColorField(Style.triggerColor, PhysicsVisualizationSettings.triggerColor); PhysicsVisualizationSettings.rigidbodyColor = EditorGUILayout.ColorField(Style.rigidbodyColor, PhysicsVisualizationSettings.rigidbodyColor); PhysicsVisualizationSettings.kinematicColor = EditorGUILayout.ColorField(Style.kinematicColor, PhysicsVisualizationSettings.kinematicColor); PhysicsVisualizationSettings.sleepingBodyColor = EditorGUILayout.ColorField(Style.sleepingBodyColor, PhysicsVisualizationSettings.sleepingBodyColor); PhysicsVisualizationSettings.colorVariance = EditorGUILayout.Slider(Style.colorVariaition, PhysicsVisualizationSettings.colorVariance, 0f, 1f); EditorGUI.indentLevel--; } m_RenderingFoldout.value = EditorGUILayout.Foldout(m_RenderingFoldout.value, Style.rendering); if (m_RenderingFoldout.value) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.baseAlpha = 1f - EditorGUILayout.Slider(Style.transparency , 1f - PhysicsVisualizationSettings.baseAlpha, 0f, 1f); PhysicsVisualizationSettings.forceOverdraw = EditorGUILayout.Toggle(Style.forceOverdraw , PhysicsVisualizationSettings.forceOverdraw); PhysicsVisualizationSettings.viewDistance = EditorGUILayout.FloatField(Style.viewDistance , PhysicsVisualizationSettings.viewDistance); PhysicsVisualizationSettings.terrainTilesMax = EditorGUILayout.IntField(Style.terrainTilesMax , PhysicsVisualizationSettings.terrainTilesMax); EditorGUI.indentLevel--; } if (Unsupported.IsDeveloperMode() || PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.devOptions = EditorGUILayout.Toggle(Style.devOptions , PhysicsVisualizationSettings.devOptions); } if (PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.dotAlpha = EditorGUILayout.Slider(Style.dotAlpha , PhysicsVisualizationSettings.dotAlpha, -1f, 1f); PhysicsVisualizationSettings.forceDot = EditorGUILayout.Toggle(Style.forceDot , PhysicsVisualizationSettings.forceDot); Tools.hidden = EditorGUILayout.Toggle(Style.toolsHidden , Tools.hidden); } GUILayout.EndScrollView(); if (dirtyCount != PhysicsVisualizationSettings.dirtyCount) { RepaintSceneAndGameViews(); } }
private void DrawFilteringTab() { int sceneCount = SceneManager.sceneCount; m_SceneList.Clear(); for (int i = 0; i < sceneCount; ++i) { var scene = SceneManager.GetSceneAt(i); m_SceneList.Add(string.Format("{0} ", scene.name)); } var sceneArray = m_SceneList.ToArray(); int newPhysicsSceneMask = EditorGUILayout.MaskField(Style.showPhysicsScenes, PhysicsVisualizationSettings.GetShowPhysicsSceneMask(), sceneArray); int newUnitySceneMask = EditorGUILayout.MaskField(Style.showUnityScenes, PhysicsVisualizationSettings.GetShowUnitySceneMask(), sceneArray); PhysicsVisualizationSettings.SetShowPhysicsSceneMask(newPhysicsSceneMask); PhysicsVisualizationSettings.SetShowUnitySceneMask(newUnitySceneMask); // Layers int oldConcatenatedMask = InternalEditorUtility.LayerMaskToConcatenatedLayersMask( PhysicsVisualizationSettings.GetShowCollisionLayerMask()); int newConcatenatedMask = EditorGUILayout.MaskField( Style.showLayers, oldConcatenatedMask, InternalEditorUtility.layers); PhysicsVisualizationSettings.SetShowCollisionLayerMask( (int)InternalEditorUtility.ConcatenatedLayersMaskToLayerMask(newConcatenatedMask)); // Static Colliders PhysicsVisualizationSettings.SetShowStaticColliders(EditorGUILayout.Toggle( Style.showStaticCollider, PhysicsVisualizationSettings.GetShowStaticColliders())); // Triggers PhysicsVisualizationSettings.SetShowTriggers(EditorGUILayout.Toggle( Style.showTriggers, PhysicsVisualizationSettings.GetShowTriggers())); // Rigidbodies PhysicsVisualizationSettings.SetShowRigidbodies(EditorGUILayout.Toggle( Style.showRigibodies, PhysicsVisualizationSettings.GetShowRigidbodies())); // Kinematic Bodies PhysicsVisualizationSettings.SetShowKinematicBodies(EditorGUILayout.Toggle( Style.showKinematicBodies, PhysicsVisualizationSettings.GetShowKinematicBodies())); // Articulation Bodies PhysicsVisualizationSettings.SetShowArticulationBodies(EditorGUILayout.Toggle( Style.showArticulationBodies, PhysicsVisualizationSettings.GetShowArticulationBodies())); // Sleeping Bodies PhysicsVisualizationSettings.SetShowSleepingBodies(EditorGUILayout.Toggle( Style.showSleepingBodies, PhysicsVisualizationSettings.GetShowSleepingBodies())); m_ShowColliderTypeFoldout.value = EditorGUILayout.Foldout(m_ShowColliderTypeFoldout.value, Style.colliderTypes, true); if (m_ShowColliderTypeFoldout.value) { EditorGUI.indentLevel++; float oldWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; // BoxCollider PhysicsVisualizationSettings.SetShowBoxColliders(EditorGUILayout.Toggle( Style.showBoxCollider, PhysicsVisualizationSettings.GetShowBoxColliders())); // SphereCollider PhysicsVisualizationSettings.SetShowSphereColliders(EditorGUILayout.Toggle( Style.showSphereCollider, PhysicsVisualizationSettings.GetShowSphereColliders())); // CapsuleCollider PhysicsVisualizationSettings.SetShowCapsuleColliders(EditorGUILayout.Toggle( Style.showCapsuleCollider, PhysicsVisualizationSettings.GetShowCapsuleColliders())); // MeshCollider convex PhysicsVisualizationSettings.SetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.Convex, EditorGUILayout.Toggle( Style.showConvexMeshCollider, PhysicsVisualizationSettings.GetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.Convex))); // MeshCollider non-convex PhysicsVisualizationSettings.SetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.NonConvex, EditorGUILayout.Toggle( Style.showConcaveMeshCollider, PhysicsVisualizationSettings.GetShowMeshColliders(PhysicsVisualizationSettings.MeshColliderType.NonConvex))); // TerrainCollider PhysicsVisualizationSettings.SetShowTerrainColliders(EditorGUILayout.Toggle( Style.showTerrainCollider, PhysicsVisualizationSettings.GetShowTerrainColliders())); EditorGUIUtility.labelWidth = oldWidth; EditorGUI.indentLevel--; } GUILayout.Space(4f); // Selection buttons GUILayout.BeginHorizontal(); bool selectNone = GUILayout.Button(Style.showNone); bool selectAll = GUILayout.Button(Style.showAll); if (selectNone || selectAll) { PhysicsVisualizationSettings.SetShowForAllFilters(selectAll); } GUILayout.EndHorizontal(); }
void OnGUI() { var dirtyCount = PhysicsVisualizationSettings.dirtyCount; EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); // Workflow PhysicsVisualizationSettings.filterWorkflow = (PhysicsVisualizationSettings.FilterWorkflow)EditorGUILayout.EnumPopup( PhysicsVisualizationSettings.filterWorkflow, EditorStyles.toolbarPopup, GUILayout.Width(130)); GUILayout.FlexibleSpace(); if (GUILayout.Button("Reset", EditorStyles.toolbarButton)) { PhysicsVisualizationSettings.Reset(); } EditorGUILayout.EndHorizontal(); m_MainScrollPos = GUILayout.BeginScrollView(m_MainScrollPos); PhysicsVisualizationSettings.FilterWorkflow filterMode = PhysicsVisualizationSettings.filterWorkflow; string action = (filterMode == PhysicsVisualizationSettings.FilterWorkflow.ShowSelectedItems) ? "Show " : "Hide "; // Layers int oldConcatenatedMask = InternalEditorUtility.LayerMaskToConcatenatedLayersMask( PhysicsVisualizationSettings.GetShowCollisionLayerMask(filterMode)); int newConcatenatedMask = EditorGUILayout.MaskField( GUIContent.Temp(action + "Layers", action + "selected layers"), oldConcatenatedMask, InternalEditorUtility.layers); PhysicsVisualizationSettings.SetShowCollisionLayerMask( filterMode, (int)InternalEditorUtility.ConcatenatedLayersMaskToLayerMask(newConcatenatedMask)); // Static Colliders PhysicsVisualizationSettings.SetShowStaticColliders(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "Static Colliders", action + "collision geometry from Colliders that do not have a Rigidbody") , PhysicsVisualizationSettings.GetShowStaticColliders(filterMode))); // Triggers PhysicsVisualizationSettings.SetShowTriggers(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "Triggers", action + "collision geometry from Colliders that have 'isTrigger' enabled") , PhysicsVisualizationSettings.GetShowTriggers(filterMode))); // Rigidbodies PhysicsVisualizationSettings.SetShowRigidbodies(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "Rigidbodies", action + "collision geometry from Rigidbodies") , PhysicsVisualizationSettings.GetShowRigidbodies(filterMode))); // Kinematic Bodies PhysicsVisualizationSettings.SetShowKinematicBodies(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "Kinematic Bodies", action + "collision geometry from Kinematic Rigidbodies") , PhysicsVisualizationSettings.GetShowKinematicBodies(filterMode))); // Sleeping Bodies PhysicsVisualizationSettings.SetShowSleepingBodies(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "Sleeping Bodies", action + "collision geometry from Sleeping Rigidbodies") , PhysicsVisualizationSettings.GetShowSleepingBodies(filterMode))); m_FilterColliderTypesFoldout = EditorGUILayout.Foldout(m_FilterColliderTypesFoldout, "Collider Types"); if (m_FilterColliderTypesFoldout) { EditorGUI.indentLevel++; float oldWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200; // BoxCollider PhysicsVisualizationSettings.SetShowBoxColliders(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "BoxColliders", action + "collision geometry from BoxColliders") , PhysicsVisualizationSettings.GetShowBoxColliders(filterMode))); // SphereCollider PhysicsVisualizationSettings.SetShowSphereColliders(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "SphereColliders", action + "collision geometry from SphereColliders") , PhysicsVisualizationSettings.GetShowSphereColliders(filterMode))); // CapsuleCollider PhysicsVisualizationSettings.SetShowCapsuleColliders(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "CapsuleColliders", action + "collision geometry from CapsuleColliders") , PhysicsVisualizationSettings.GetShowCapsuleColliders(filterMode))); // MeshCollider convex PhysicsVisualizationSettings.SetShowMeshColliders(filterMode, PhysicsVisualizationSettings.MeshColliderType.Convex, EditorGUILayout.Toggle( GUIContent.Temp(action + "MeshColliders (convex)", action + "collision geometry from convex MeshColliders") , PhysicsVisualizationSettings.GetShowMeshColliders(filterMode, PhysicsVisualizationSettings.MeshColliderType.Convex))); // MeshCollider non-convex PhysicsVisualizationSettings.SetShowMeshColliders(filterMode, PhysicsVisualizationSettings.MeshColliderType.NonConvex, EditorGUILayout.Toggle( GUIContent.Temp(action + "MeshColliders (concave)", action + "collision geometry from non-convex MeshColliders") , PhysicsVisualizationSettings.GetShowMeshColliders(filterMode, PhysicsVisualizationSettings.MeshColliderType.NonConvex))); // TerrainCollider PhysicsVisualizationSettings.SetShowTerrainColliders(filterMode, EditorGUILayout.Toggle( GUIContent.Temp(action + "TerrainColliders", action + "collision geometry from TerrainColliders") , PhysicsVisualizationSettings.GetShowTerrainColliders(filterMode))); EditorGUIUtility.labelWidth = oldWidth; EditorGUI.indentLevel--; } GUILayout.Space(4); // Selection buttons GUILayout.BeginHorizontal(); bool selectNone = GUILayout.Button(action + "None", "MiniButton"); bool selectAll = GUILayout.Button(action + "All", "MiniButton"); if (selectNone || selectAll) { PhysicsVisualizationSettings.SetShowForAllFilters(filterMode, selectAll); } GUILayout.EndHorizontal(); m_ColorFoldout = EditorGUILayout.Foldout(m_ColorFoldout, "Colors"); if (m_ColorFoldout) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.staticColor = EditorGUILayout.ColorField(Contents.staticColor, PhysicsVisualizationSettings.staticColor); PhysicsVisualizationSettings.triggerColor = EditorGUILayout.ColorField(Contents.triggerColor, PhysicsVisualizationSettings.triggerColor); PhysicsVisualizationSettings.rigidbodyColor = EditorGUILayout.ColorField(Contents.rigidbodyColor, PhysicsVisualizationSettings.rigidbodyColor); PhysicsVisualizationSettings.kinematicColor = EditorGUILayout.ColorField(Contents.kinematicColor, PhysicsVisualizationSettings.kinematicColor); PhysicsVisualizationSettings.sleepingBodyColor = EditorGUILayout.ColorField(Contents.sleepingBodyColor, PhysicsVisualizationSettings.sleepingBodyColor); PhysicsVisualizationSettings.colorVariance = EditorGUILayout.Slider("Variation", PhysicsVisualizationSettings.colorVariance, 0f, 1f); EditorGUI.indentLevel--; } m_RenderingFoldout = EditorGUILayout.Foldout(m_RenderingFoldout, "Rendering"); if (m_RenderingFoldout) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.baseAlpha = 1f - EditorGUILayout.Slider("Transparency" , 1f - PhysicsVisualizationSettings.baseAlpha, 0f, 1f); PhysicsVisualizationSettings.forceOverdraw = EditorGUILayout.Toggle(Contents.forceOverdraw , PhysicsVisualizationSettings.forceOverdraw); PhysicsVisualizationSettings.viewDistance = EditorGUILayout.FloatField(Contents.viewDistance , PhysicsVisualizationSettings.viewDistance); PhysicsVisualizationSettings.terrainTilesMax = EditorGUILayout.IntField(Contents.terrainTilesMax , PhysicsVisualizationSettings.terrainTilesMax); EditorGUI.indentLevel--; } if (Unsupported.IsDeveloperMode() || PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.devOptions = EditorGUILayout.Toggle(Contents.devOptions , PhysicsVisualizationSettings.devOptions); } if (PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.dotAlpha = EditorGUILayout.Slider("dotAlpha" , PhysicsVisualizationSettings.dotAlpha, -1f, 1f); PhysicsVisualizationSettings.forceDot = EditorGUILayout.Toggle(Contents.forceDot , PhysicsVisualizationSettings.forceDot); Tools.hidden = EditorGUILayout.Toggle(Contents.toolsHidden , Tools.hidden); } GUILayout.EndScrollView(); if (dirtyCount != PhysicsVisualizationSettings.dirtyCount) { RepaintSceneAndGameViews(); } }
private void OnGUI() { int dirtyCount = PhysicsVisualizationSettings.dirtyCount; EditorGUILayout.BeginHorizontal(EditorStyles.toolbar, new GUILayoutOption[0]); PhysicsVisualizationSettings.filterWorkflow = (PhysicsVisualizationSettings.FilterWorkflow)EditorGUILayout.EnumPopup(PhysicsVisualizationSettings.filterWorkflow, EditorStyles.toolbarPopup, new GUILayoutOption[] { GUILayout.Width(130f) }); GUILayout.FlexibleSpace(); if (GUILayout.Button("Reset", EditorStyles.toolbarButton, new GUILayoutOption[0])) { PhysicsVisualizationSettings.Reset(); } EditorGUILayout.EndHorizontal(); this.m_MainScrollPos = GUILayout.BeginScrollView(this.m_MainScrollPos, new GUILayoutOption[0]); PhysicsVisualizationSettings.FilterWorkflow filterWorkflow = PhysicsVisualizationSettings.filterWorkflow; string str = (filterWorkflow != PhysicsVisualizationSettings.FilterWorkflow.ShowSelectedItems) ? "Hide " : "Show "; int mask = InternalEditorUtility.LayerMaskToConcatenatedLayersMask(PhysicsVisualizationSettings.GetShowCollisionLayerMask(filterWorkflow)); int concatenatedLayersMask = EditorGUILayout.MaskField(GUIContent.Temp(str + "Layers", str + "selected layers"), mask, InternalEditorUtility.layers, new GUILayoutOption[0]); PhysicsVisualizationSettings.SetShowCollisionLayerMask(filterWorkflow, InternalEditorUtility.ConcatenatedLayersMaskToLayerMask(concatenatedLayersMask)); PhysicsVisualizationSettings.SetShowStaticColliders(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "Static Colliders", str + "collision geometry from Colliders that do not have a Rigidbody"), PhysicsVisualizationSettings.GetShowStaticColliders(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowTriggers(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "Triggers", str + "collision geometry from Colliders that have 'isTrigger' enabled"), PhysicsVisualizationSettings.GetShowTriggers(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowRigidbodies(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "Rigidbodies", str + "collision geometry from Rigidbodies"), PhysicsVisualizationSettings.GetShowRigidbodies(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowKinematicBodies(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "Kinematic Bodies", str + "collision geometry from Kinematic Rigidbodies"), PhysicsVisualizationSettings.GetShowKinematicBodies(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowSleepingBodies(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "Sleeping Bodies", str + "collision geometry from Sleeping Rigidbodies"), PhysicsVisualizationSettings.GetShowSleepingBodies(filterWorkflow), new GUILayoutOption[0])); this.m_FilterColliderTypesFoldout = EditorGUILayout.Foldout(this.m_FilterColliderTypesFoldout, "Collider Types"); if (this.m_FilterColliderTypesFoldout) { EditorGUI.indentLevel++; float labelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; PhysicsVisualizationSettings.SetShowBoxColliders(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "BoxColliders", str + "collision geometry from BoxColliders"), PhysicsVisualizationSettings.GetShowBoxColliders(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowSphereColliders(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "SphereColliders", str + "collision geometry from SphereColliders"), PhysicsVisualizationSettings.GetShowSphereColliders(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowCapsuleColliders(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "CapsuleColliders", str + "collision geometry from CapsuleColliders"), PhysicsVisualizationSettings.GetShowCapsuleColliders(filterWorkflow), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowMeshColliders(filterWorkflow, PhysicsVisualizationSettings.MeshColliderType.Convex, EditorGUILayout.Toggle(GUIContent.Temp(str + "MeshColliders (convex)", str + "collision geometry from convex MeshColliders"), PhysicsVisualizationSettings.GetShowMeshColliders(filterWorkflow, PhysicsVisualizationSettings.MeshColliderType.Convex), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowMeshColliders(filterWorkflow, PhysicsVisualizationSettings.MeshColliderType.NonConvex, EditorGUILayout.Toggle(GUIContent.Temp(str + "MeshColliders (concave)", str + "collision geometry from non-convex MeshColliders"), PhysicsVisualizationSettings.GetShowMeshColliders(filterWorkflow, PhysicsVisualizationSettings.MeshColliderType.NonConvex), new GUILayoutOption[0])); PhysicsVisualizationSettings.SetShowTerrainColliders(filterWorkflow, EditorGUILayout.Toggle(GUIContent.Temp(str + "TerrainColliders", str + "collision geometry from TerrainColliders"), PhysicsVisualizationSettings.GetShowTerrainColliders(filterWorkflow), new GUILayoutOption[0])); EditorGUIUtility.labelWidth = labelWidth; EditorGUI.indentLevel--; } GUILayout.Space(4f); GUILayout.BeginHorizontal(new GUILayoutOption[0]); bool flag = GUILayout.Button(str + "None", "MiniButton", new GUILayoutOption[0]); bool flag2 = GUILayout.Button(str + "All", "MiniButton", new GUILayoutOption[0]); if (flag || flag2) { PhysicsVisualizationSettings.SetShowForAllFilters(filterWorkflow, flag2); } GUILayout.EndHorizontal(); this.m_ColorFoldout = EditorGUILayout.Foldout(this.m_ColorFoldout, "Colors"); if (this.m_ColorFoldout) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.staticColor = EditorGUILayout.ColorField(PhysicsDebugWindow.Contents.staticColor, PhysicsVisualizationSettings.staticColor, false, true, false, PhysicsDebugWindow.Contents.pickerConfig, new GUILayoutOption[0]); PhysicsVisualizationSettings.triggerColor = EditorGUILayout.ColorField(PhysicsDebugWindow.Contents.triggerColor, PhysicsVisualizationSettings.triggerColor, false, true, false, PhysicsDebugWindow.Contents.pickerConfig, new GUILayoutOption[0]); PhysicsVisualizationSettings.rigidbodyColor = EditorGUILayout.ColorField(PhysicsDebugWindow.Contents.rigidbodyColor, PhysicsVisualizationSettings.rigidbodyColor, false, true, false, PhysicsDebugWindow.Contents.pickerConfig, new GUILayoutOption[0]); PhysicsVisualizationSettings.kinematicColor = EditorGUILayout.ColorField(PhysicsDebugWindow.Contents.kinematicColor, PhysicsVisualizationSettings.kinematicColor, false, true, false, PhysicsDebugWindow.Contents.pickerConfig, new GUILayoutOption[0]); PhysicsVisualizationSettings.sleepingBodyColor = EditorGUILayout.ColorField(PhysicsDebugWindow.Contents.sleepingBodyColor, PhysicsVisualizationSettings.sleepingBodyColor, false, true, false, PhysicsDebugWindow.Contents.pickerConfig, new GUILayoutOption[0]); PhysicsVisualizationSettings.colorVariance = EditorGUILayout.Slider("Variation", PhysicsVisualizationSettings.colorVariance, 0f, 1f, new GUILayoutOption[0]); EditorGUI.indentLevel--; } this.m_RenderingFoldout = EditorGUILayout.Foldout(this.m_RenderingFoldout, "Rendering"); if (this.m_RenderingFoldout) { EditorGUI.indentLevel++; PhysicsVisualizationSettings.baseAlpha = 1f - EditorGUILayout.Slider("Transparency", 1f - PhysicsVisualizationSettings.baseAlpha, 0f, 1f, new GUILayoutOption[0]); PhysicsVisualizationSettings.forceOverdraw = EditorGUILayout.Toggle(PhysicsDebugWindow.Contents.forceOverdraw, PhysicsVisualizationSettings.forceOverdraw, new GUILayoutOption[0]); PhysicsVisualizationSettings.viewDistance = EditorGUILayout.FloatField(PhysicsDebugWindow.Contents.viewDistance, PhysicsVisualizationSettings.viewDistance, new GUILayoutOption[0]); PhysicsVisualizationSettings.terrainTilesMax = EditorGUILayout.IntField(PhysicsDebugWindow.Contents.terrainTilesMax, PhysicsVisualizationSettings.terrainTilesMax, new GUILayoutOption[0]); EditorGUI.indentLevel--; } if (Unsupported.IsDeveloperBuild() || PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.devOptions = EditorGUILayout.Toggle(PhysicsDebugWindow.Contents.devOptions, PhysicsVisualizationSettings.devOptions, new GUILayoutOption[0]); } if (PhysicsVisualizationSettings.devOptions) { PhysicsVisualizationSettings.dotAlpha = EditorGUILayout.Slider("dotAlpha", PhysicsVisualizationSettings.dotAlpha, -1f, 1f, new GUILayoutOption[0]); PhysicsVisualizationSettings.forceDot = EditorGUILayout.Toggle(PhysicsDebugWindow.Contents.forceDot, PhysicsVisualizationSettings.forceDot, new GUILayoutOption[0]); Tools.hidden = EditorGUILayout.Toggle(PhysicsDebugWindow.Contents.toolsHidden, Tools.hidden, new GUILayoutOption[0]); } GUILayout.EndScrollView(); if (dirtyCount != PhysicsVisualizationSettings.dirtyCount) { PhysicsDebugWindow.RepaintSceneAndGameViews(); } }