54 lines
1.4 KiB
C#

#if UNITY_2018_1_OR_NEWER
using UnityEditor.Presets;
namespace UnityEditor.Formats.Fbx.Exporter
{
internal delegate void SelectionChangedDelegate();
internal delegate void DialogClosedDelegate();
internal class FbxExportPresetSelectorReceiver : PresetSelectorReceiver
{
UnityEngine.Object m_Target;
Preset m_InitialValue;
public event SelectionChangedDelegate SelectionChanged;
public event DialogClosedDelegate DialogClosed;
public override void OnSelectionClosed(Preset selection)
{
OnSelectionChanged(selection);
if (DialogClosed != null)
{
DialogClosed();
}
DestroyImmediate(this);
}
public override void OnSelectionChanged(Preset selection)
{
if (selection != null)
{
selection.ApplyTo(m_Target);
}
else
{
m_InitialValue.ApplyTo(m_Target);
}
if (SelectionChanged != null)
{
SelectionChanged();
}
}
public void SetTarget(UnityEngine.Object target)
{
m_Target = target;
}
public void SetInitialValue(Preset initialValue)
{
m_InitialValue = initialValue;
}
}
}
#endif