using UnityEngine; 
 | 
using System; 
 | 
using System.Collections; 
 | 
  
 | 
namespace EnhancedUI.EnhancedScroller 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// This is the base class that all cell views should derive from 
 | 
    /// </summary> 
 | 
    public class EnhancedScrollerCellView : MonoBehaviour 
 | 
    { 
 | 
        /// <summary> 
 | 
        /// The cellIdentifier is a unique string that allows the scroller 
 | 
        /// to handle different types of cells in a single list. Each type 
 | 
        /// of cell should have its own identifier 
 | 
        /// </summary> 
 | 
        public string cellIdentifier; //当存在不同prefab的时候,就可以用这个identifier来区分 
 | 
  
 | 
        /// <summary> 
 | 
        /// The cell index of the cell view 
 | 
        /// This will differ from the dataIndex if the list is looping 
 | 
        /// </summary> 
 | 
        [NonSerialized] 
 | 
        public int cellIndex;//_activeCellViews中的索引 
 | 
  
 | 
        [NonSerialized] 
 | 
        public int index = -1;//_activeCellViews中的索引 
 | 
  
 | 
        /// <summary> 
 | 
        /// The data index of the cell view 
 | 
        /// </summary> 
 | 
        [NonSerialized] 
 | 
        public int dataIndex;//非循环模式下和cellIndex相同,循环模式下为当前循环的子物体的索引 
 | 
  
 | 
        /// <summary> 
 | 
        /// Whether the cell is active or recycled 
 | 
        /// </summary> 
 | 
        [NonSerialized] 
 | 
        public bool active; 
 | 
  
 | 
        /// <summary> 
 | 
        /// This method is called by the scroller when the RefreshActiveCellViews is called on the scroller 
 | 
        /// You can override it to update your cell's view UID 
 | 
        /// </summary> 
 | 
        public virtual void RefreshCellView() { }//当主动调用EnhancedScrller类中RefreshActiveCellViews()方法时,会遍历当前处于Active状态的CellVeiw,并调用它们重写的这个方法 
 | 
                                                 //这个方法可以用于主动刷新当前处于Active状态的CellVeiw 
 | 
  
 | 
    } 
 | 
} 
 |