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