using UnityEngine;
namespace XericUI.BubbleLayout
{
///
/// 气泡布局插件基类 —— 提供 Editor 识别标记和 Enabled/Order 公共实现。
/// 所有插件应继承此类而非直接实现 MonoBehaviour。
///
public abstract class BubbleLayoutPluginBase : MonoBehaviour, IBubbleLayoutPlugin
{
[Tooltip("是否启用此插件")]
[SerializeField] private bool m_PluginEnabled = true;
[Tooltip("执行优先级,值越大越靠后执行")]
[SerializeField] private int m_PluginOrder = 10;
public bool Enabled => m_PluginEnabled;
public int Order => m_PluginOrder;
#if UNITY_EDITOR
///
/// 子类可重写此方法在 Reset 时设置不同的默认 Order
///
protected virtual int EditorDefaultOrder => 10;
protected virtual void Reset()
{
m_PluginOrder = EditorDefaultOrder;
m_PluginEnabled = true;
}
#endif
}
}