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 } }