还原水插件

This commit is contained in:
2026-03-05 00:14:42 +08:00
parent 0de35591e7
commit e82f2ea6b7
270 changed files with 2773 additions and 12445 deletions

View File

@@ -10,10 +10,6 @@ namespace WaveHarmonic.Crest.Editor
{
abstract class TexturePreview : ObjectPreview
{
static readonly System.Reflection.MethodInfo s_DrawPreview = typeof(ObjectPreview).GetMethod("DrawPreview", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
static readonly object[] s_DrawPreviewArguments = new object[3];
static readonly Object[] s_DrawPreviewTargets = new Object[1];
public static TexturePreview s_ActiveInstance;
public bool Open { get; private set; }
@@ -105,9 +101,6 @@ namespace WaveHarmonic.Crest.Editor
Helpers.SafeCreateRenderTexture(ref _RenderTexture, descriptor);
_RenderTexture.Create();
Object.DestroyImmediate(_Editor);
// Raises both, but no way to avoid it:
// | The targets array should not be used inside OnSceneGUI or OnPreviewGUI. Use the single target property instead.
// | The serializedObject should not be used inside OnSceneGUI or OnPreviewGUI. Use the target property directly instead.
_Editor = UnityEditor.Editor.CreateEditor(_RenderTexture);
// Reset for incompatible copy.
descriptor = _OriginalDescriptor;
@@ -128,13 +121,7 @@ namespace WaveHarmonic.Crest.Editor
Graphics.CopyTexture(Texture, _RenderTexture);
}
s_DrawPreviewTargets[0] = _Editor.target;
s_DrawPreviewArguments[0] = _Editor;
s_DrawPreviewArguments[1] = rect;
s_DrawPreviewArguments[2] = s_DrawPreviewTargets;
// Use to be _Editor.DrawPreview(rect) but spammed errors with multiple selected.
s_DrawPreview?.Invoke(null, s_DrawPreviewArguments);
_Editor.DrawPreview(rect);
}
#if CREST_DEBUG