Version: 2022.1
public void OnSelectionClosed (Presets.Preset selection);

描述

应用当前的选择,然后自我摧毁。

using UnityEditor;
using UnityEditor.Presets;
using UnityEngine;

public class DefaultPresetSelectorReceiver : PresetSelectorReceiver { Object[] m_Targets; Preset[] m_InitialValues;

public override void OnSelectionClosed(Preset selection) { OnSelectionChanged(selection); DestroyImmediate(this); }

public override void OnSelectionChanged(Preset selection) { if (selection != null) { foreach (var target in m_Targets) { selection.ApplyTo(target); } } else { for (int i = 0; i < m_Targets.Length; i++) { m_InitialValues[i].ApplyTo(m_Targets[i]); } } } }