SceneDebugViewer/Editor/SceneDebugViewerWindow.cs

46 lines
1.1 KiB
C#
Raw Normal View History

2021-03-30 15:36:30 +02:00
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
2021-03-30 15:36:30 +02:00
namespace TAO.SceneDebugViewer.Editor
{
public class SceneDebugViewerWindow : EditorWindow
{
static List<ReplacementShaderSetupScriptableObject> options = new List<ReplacementShaderSetupScriptableObject>();
2021-03-30 15:36:30 +02:00
[MenuItem("Window/SceneDebugViewer")]
static void Init()
{
options.Clear();
string[] guids = AssetDatabase.FindAssets("t:ReplacementShaderSetupScriptableObject", null);
foreach (string guid in guids)
{
options.Add((ReplacementShaderSetupScriptableObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(guid), typeof(ReplacementShaderSetupScriptableObject)));
}
SceneDebugViewerWindow window = (SceneDebugViewerWindow)EditorWindow.GetWindow(typeof(SceneDebugViewerWindow));
window.Show();
}
private void OnGUI()
{
if (GUILayout.Button("Reset"))
{
foreach (SceneView s in SceneView.sceneViews)
{
s.SetSceneViewShaderReplace(null, null);
s.Repaint();
}
}
foreach (var o in options)
{
if (GUILayout.Button(o.content))
{
o.Replace();
}
}
}
}
}