using UnityEngine; using System.Collections; namespace EnhancedUI.EnhancedScroller { /// /// All scripts that handle the scroller's callbacks should inherit from this interface /// public interface IEnhancedScrollerDelegate { /// /// Gets the number of cells in a list of data /// /// /// int GetNumberOfCells(EnhancedScroller scroller);//得到Scroll里面CellVeiw的总数目 /// /// Gets the size of a cell view given the index of the data set. /// This allows you to have different sized cells /// /// /// /// float GetCellViewSize(EnhancedScroller scroller, int dataIndex);//得到某个dataIndex的size(因为有可能会存在不同的CellVeiw) /// /// Gets the cell view that should be used for the data index. Your implementation /// of this function should request a new cell from the scroller so that it can /// properly recycle old cells. /// /// /// /// /// EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex); /* * 用于得到(或从循环集合中取,或实例化)一个CellView并取其CellView对象 注意这里返回的是CellView的父类型,CellVeiw是要自己来写的,这样就可以通过重写父类的虚方法实现多态 */ /*要想使用这个插件,需要我们添加两个类, * 1)一个类继承自EnHancedScrollerCellView,用于保存单个CellView的相关信息 * 2)另一个类实现这个接口,用于控制整个Scroll,并提供给外界一些相关信息(总的CellView数目,每个CellView的size等) * 其中,GetCellView()方法在实现的时候直接调用 EnhancedScroller类中的GetCellView()方法来进行实现就可以了 * 这两个类也可根据自己的需要进行扩展 */ void OnRebuildComplete(); } }