45 lines
1.5 KiB
C#
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
|