using UnityEngine;
namespace AutoGroupGenerator
{
///
/// Base class for rules that exclude assets from the input pipeline.
///
///
///
public abstract class ExclusionRule : ScriptableObject
{
#region Fields
///
/// Data container used to evaluate exclusion rules.
///
protected DataContainer m_DataContainer;
#endregion
#region Methods
///
/// Initializes the rule with shared data.
///
/// The shared data container that provides context for the rule.
public virtual void Initialize(DataContainer dataContainer)
{
m_DataContainer = dataContainer;
}
///
/// Determines whether a node should be ignored.
///
/// The asset node to evaluate for exclusion during processing.
/// True if the node should be excluded.
public abstract bool ShouldIgnoreNode(AssetNode node);
///
/// Clears cached data when the rule is no longer needed.
///
public virtual void UnInitialize()
{
m_DataContainer = null;
}
#endregion
}
}