Files
Test/Library/PackageCache/com.unity.render-pipelines.universal@ffe395a3a1d1/Runtime/2D/Sources/Shadow2DProviderSource.cs
T
2026-11-01 23:39:55 +02:00

45 lines
1.5 KiB
C#

#if UNITY_EDITOR
using System;
using UnityEditor;
namespace UnityEngine.Rendering.Universal
{
[Serializable]
internal class Shadow2DProviderSource : Provider2DSource
{
[SerializeField] Component m_Component;
public override void Initialize(Provider2D provider, Component component, int providerType)
{
base.Initialize(provider, component, providerType);
m_Component = component;
}
public override int GetHashCode()
{
return LightUtility.ProviderToHash(m_Provider, m_Component);
}
public override void SetSourceType(SerializedObject serializedObject)
{
serializedObject.Update();
SerializedProperty lightType = serializedObject.FindProperty("m_ShadowCastingSource");
SerializedProperty provider = serializedObject.FindProperty("m_ShadowShape2DProvider");
SerializedProperty component = serializedObject.FindProperty("m_ShadowShape2DComponent");
lightType.intValue = m_SourceType;
foreach (var obj in serializedObject.targetObjects)
{
ShadowCaster2D shadowCaster2D = obj as ShadowCaster2D;
shadowCaster2D.shadowShape2DProvider = m_Provider as ShadowShape2DProvider;
}
component.objectReferenceValue = m_Component;
m_Provider.OnSelected();
serializedObject.ApplyModifiedProperties();
}
}
}
#endif