升级水插件

This commit is contained in:
2026-01-08 22:30:55 +08:00
parent febff82d24
commit ca68084264
415 changed files with 18138 additions and 7134 deletions

View File

@@ -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);