Files
Bombaleila/Library/PackageCache/com.unity.render-pipelines.universal@37e0d4fc2503/Editor/2D/Overrides/SkinnedMeshEditor2DURP.cs
2026-03-03 00:39:30 +05:00

49 lines
1.7 KiB
C#

using System;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace UnityEditor.Rendering.Universal
{
[CustomEditor(typeof(SkinnedMeshRenderer))]
[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))]
[CanEditMultipleObjects]
internal class SkinnedMeshEditor2DURP : SkinnedMeshRendererEditor
{
SerializedProperty m_MaskInteraction;
SavedBool m_2DFoldout;
new class Styles
{
public static readonly GUIContent maskInteractionLabel = EditorGUIUtility.TrTextContent("Mask Interaction", "Renderer's interaction with a Sprite Mask");
}
public override void OnEnable()
{
base.OnEnable();
m_MaskInteraction = serializedObject.FindProperty("m_MaskInteraction");
m_2DFoldout = new SavedBool($"{target.GetType()}.SkinnedMeshEditor2DFoldout", true);
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
serializedObject.Update();
var rpAsset = UniversalRenderPipeline.asset;
if (rpAsset != null && (rpAsset.scriptableRenderer is Renderer2D))
{
m_2DFoldout.value = EditorGUILayout.Foldout(m_2DFoldout.value, "2D");
if (m_2DFoldout)
{
EditorGUI.indentLevel++;
m_MaskInteraction.intValue = Convert.ToInt32(EditorGUILayout.EnumPopup(Styles.maskInteractionLabel, (SpriteMaskInteraction)m_MaskInteraction.intValue));
EditorGUI.indentLevel--;
}
}
serializedObject.ApplyModifiedProperties();
}
}
}