|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
using System.Collections; |
|
|
|
using System.Collections.Generic; |
|
|
|
using UnityEngine; |
|
|
|
|
|
|
|
namespace UnityEditor.Experimental.Rendering.LightweightPipeline |
|
|
|
{ |
|
|
|
internal static class SceneViewDrawMode |
|
|
|
{ |
|
|
|
static bool RejectDrawMode(SceneView.CameraMode cameraMode) |
|
|
|
{ |
|
|
|
if (cameraMode.drawMode == DrawCameraMode.TexturedWire || |
|
|
|
cameraMode.drawMode == DrawCameraMode.ShadowCascades || |
|
|
|
cameraMode.drawMode == DrawCameraMode.RenderPaths || |
|
|
|
cameraMode.drawMode == DrawCameraMode.AlphaChannel || |
|
|
|
cameraMode.drawMode == DrawCameraMode.Overdraw || |
|
|
|
cameraMode.drawMode == DrawCameraMode.Mipmaps || |
|
|
|
cameraMode.drawMode == DrawCameraMode.SpriteMask || |
|
|
|
cameraMode.drawMode == DrawCameraMode.DeferredDiffuse || |
|
|
|
cameraMode.drawMode == DrawCameraMode.DeferredSpecular || |
|
|
|
cameraMode.drawMode == DrawCameraMode.DeferredSmoothness || |
|
|
|
cameraMode.drawMode == DrawCameraMode.DeferredNormal || |
|
|
|
cameraMode.drawMode == DrawCameraMode.ValidateAlbedo || |
|
|
|
cameraMode.drawMode == DrawCameraMode.ValidateMetalSpecular || |
|
|
|
cameraMode.drawMode == DrawCameraMode.ShadowMasks || |
|
|
|
cameraMode.drawMode == DrawCameraMode.LightOverlap |
|
|
|
) |
|
|
|
return false; |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
public static void SetupDrawMode() |
|
|
|
{ |
|
|
|
ArrayList sceneViewArray = SceneView.sceneViews; |
|
|
|
foreach (SceneView sceneView in sceneViewArray) |
|
|
|
sceneView.onValidateCameraMode += RejectDrawMode; |
|
|
|
} |
|
|
|
|
|
|
|
public static void ResetDrawMode() |
|
|
|
{ |
|
|
|
ArrayList sceneViewArray = SceneView.sceneViews; |
|
|
|
foreach (SceneView sceneView in sceneViewArray) |
|
|
|
sceneView.onValidateCameraMode -= RejectDrawMode; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endif
|