/// <summary>
        /// Uses a delegate to return a table for the given table id.
        /// </summary>
        public CustomVariantResolver SetTable(StringHash32 inTableId, GetTableWithContextDelegate inGetter)
        {
            if (inGetter == null)
            {
                throw new ArgumentNullException("inGetter");
            }

            MakeTableRule(inTableId).SetDelegate(inGetter);
            return(this);
        }
        /// <summary>
        /// Uses a delegate to return a default table if no table id is provided.
        /// </summary>
        public CustomVariantResolver SetDefaultTable(GetTableWithContextDelegate inGetter)
        {
            if (inGetter == null)
            {
                throw new ArgumentNullException("inGetter");
            }

            if (m_DefaultTable == null)
            {
                m_DefaultTable = new TableRule();
            }
            m_DefaultTable.SetDelegate(inGetter);
            return(this);
        }
 public void SetConst(VariantTable inTable)
 {
     m_Table                    = inTable;
     m_TableDelegate            = null;
     m_TableWithContextDelegate = null;
 }
 public void SetDelegate(GetTableWithContextDelegate inDelegate)
 {
     m_Table                    = null;
     m_TableDelegate            = null;
     m_TableWithContextDelegate = inDelegate;
 }
 public void Clear()
 {
     m_Table                    = null;
     m_TableDelegate            = null;
     m_TableWithContextDelegate = null;
 }