升级水插件
This commit is contained in:
@@ -10,7 +10,8 @@ namespace WaveHarmonic.Crest.Editor
|
||||
{
|
||||
abstract class TexturePreview : ObjectPreview
|
||||
{
|
||||
public static bool AnyActivePreviews { get; private set; }
|
||||
public static TexturePreview s_ActiveInstance;
|
||||
public bool Open { get; private set; }
|
||||
|
||||
UnityEditor.Editor _Editor;
|
||||
RenderTexture _RenderTexture;
|
||||
@@ -34,7 +35,11 @@ namespace WaveHarmonic.Crest.Editor
|
||||
|
||||
public override bool HasPreviewGUI()
|
||||
{
|
||||
AnyActivePreviews = false;
|
||||
if (Event.current != null && Event.current.type == EventType.Layout)
|
||||
{
|
||||
Open = false;
|
||||
}
|
||||
|
||||
return OriginalTexture;
|
||||
}
|
||||
|
||||
@@ -61,7 +66,8 @@ namespace WaveHarmonic.Crest.Editor
|
||||
|
||||
public override void OnPreviewGUI(Rect rect, GUIStyle background)
|
||||
{
|
||||
AnyActivePreviews = true;
|
||||
s_ActiveInstance = this;
|
||||
Open = true;
|
||||
|
||||
// This check is in original.
|
||||
if (Event.current.type == EventType.Repaint)
|
||||
@@ -69,6 +75,18 @@ namespace WaveHarmonic.Crest.Editor
|
||||
background.Draw(rect, false, false, false, false);
|
||||
}
|
||||
|
||||
if (Texture is Cubemap)
|
||||
{
|
||||
if (_Editor == null || _Editor.target != Texture)
|
||||
{
|
||||
Object.DestroyImmediate(_Editor);
|
||||
_Editor = UnityEditor.Editor.CreateEditor(Texture);
|
||||
}
|
||||
|
||||
_Editor.DrawPreview(rect);
|
||||
return;
|
||||
}
|
||||
|
||||
var descriptor = Texture.GetDescriptor();
|
||||
|
||||
if (Helpers.RenderTextureNeedsUpdating(descriptor, _OriginalDescriptor))
|
||||
@@ -111,6 +129,11 @@ namespace WaveHarmonic.Crest.Editor
|
||||
{
|
||||
OnPreviewGUI(rect, background);
|
||||
|
||||
if (Texture is Cubemap)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Show pixel value in preview.
|
||||
_Slice = Development.Utility.GetPreviewSlice(_Editor, Texture);
|
||||
var color = Development.Utility.InspectPixel(rect, OriginalTexture, Flipped, _Slice);
|
||||
|
||||
Reference in New Issue
Block a user