2021-03-30 15:36:30 +02:00
|
|
|
using UnityEngine;
|
|
|
|
using UnityEditor;
|
2021-03-30 21:04:06 +02:00
|
|
|
using System.Collections.Generic;
|
2021-03-30 15:36:30 +02:00
|
|
|
|
|
|
|
namespace TAO.SceneDebugViewer.Editor
|
|
|
|
{
|
2021-03-30 21:04:06 +02:00
|
|
|
public class SceneDebugViewerWindow : EditorWindow
|
|
|
|
{
|
|
|
|
static List<ReplacementShaderSetupScriptableObject> options = new List<ReplacementShaderSetupScriptableObject>();
|
2021-03-30 15:36:30 +02:00
|
|
|
|
2021-03-30 21:04:06 +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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|