init
This commit is contained in:
62
Editor/Scripts/OutlineEffectEditor.cs
Normal file
62
Editor/Scripts/OutlineEffectEditor.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
// Copyright (C) 2019-2021 Alexander Bogarsukov. All rights reserved.
|
||||
// See the LICENSE.md file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
namespace UnityFx.Outline
|
||||
{
|
||||
[CustomEditor(typeof(OutlineEffect))]
|
||||
public class OutlineEffectEditor : Editor
|
||||
{
|
||||
private OutlineEffect _effect;
|
||||
private bool _debugOpened;
|
||||
private bool _previewOpened;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_effect = (OutlineEffect)target;
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var e = (CameraEvent)EditorGUILayout.EnumPopup("Render Event", _effect.RenderEvent);
|
||||
|
||||
if (e != _effect.RenderEvent)
|
||||
{
|
||||
Undo.RecordObject(_effect, "Set Render Event");
|
||||
_effect.RenderEvent = e;
|
||||
}
|
||||
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
EditorUtility.SetDirty(_effect.gameObject);
|
||||
|
||||
if (!EditorApplication.isPlayingOrWillChangePlaymode)
|
||||
{
|
||||
EditorSceneManager.MarkSceneDirty(_effect.gameObject.scene);
|
||||
}
|
||||
}
|
||||
|
||||
if (_effect.OutlineLayers)
|
||||
{
|
||||
if (_effect.OutlineLayers.Count > 0)
|
||||
{
|
||||
_previewOpened = EditorGUILayout.Foldout(_previewOpened, "Preview", true);
|
||||
|
||||
if (_previewOpened)
|
||||
{
|
||||
OutlineEditorUtility.RenderPreview(_effect.OutlineLayers, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user