Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / ui / grid / IUiCell.cs
  1.  
  2. /// <summary>
  3. /// 网格组件中单个格子的数据处理类接口, 无泛型
  4. /// </summary>
  5. public interface IUiCell : IDestroy
  6. {
  7. /// <summary>
  8. /// 是否启用了当前 Cell
  9. /// </summary>
  10. bool Enable { get; }
  11.  
  12. /// <summary>
  13. /// 当前 Cell 在 UiGrid 组件中的索引位置
  14. /// </summary>
  15. int Index { get; }
  16.  
  17. /// <summary>
  18. /// 当前 Cell 初始化时调用
  19. /// </summary>
  20. void OnInit();
  21.  
  22. /// <summary>
  23. /// 如果启用了当前 Cell, 则每帧调用
  24. /// </summary>
  25. void Process(float delta);
  26. /// <summary>
  27. /// 当前Ui被点击时调用<br/>
  28. /// 如果 Cell 的模板为 BaseButton 类型, 则 UiCell 会自动绑定点击事件<br/>
  29. /// 如果需要自己绑定点击事件, 请绑定 UiCell.Click() 函数<br/>
  30. /// 如果当前 Cell 未被选中, 则 OnSelect() 会比 OnClick() 先调用
  31. /// </summary>
  32. void OnClick();
  33.  
  34. /// <summary>
  35. /// 双击当前 Cell 调用
  36. /// </summary>
  37. void OnDoubleClick();
  38.  
  39. /// <summary>
  40. /// 当启用当前 Cell 时调用
  41. /// </summary>
  42. void OnEnable();
  43.  
  44. /// <summary>
  45. /// 当禁用当前 Cell 时调用, 也就是被回收时调用
  46. /// </summary>
  47. void OnDisable();
  48. /// <summary>
  49. /// 当检测当前 Cell 是否可以被选中时调用
  50. /// </summary>
  51. bool CanSelect();
  52.  
  53. /// <summary>
  54. /// 当前 Cell 选中时调用, 设置 UiGrid.SelectIndex 时触发
  55. /// </summary>
  56. void OnSelect();
  57.  
  58. /// <summary>
  59. /// 当前 Cell 取消选中时调用, 设置 UiGrid.SelectIndex 时触发
  60. /// </summary>
  61. void OnUnSelect();
  62.  
  63. /// <summary>
  64. /// 当 Cell 索引发生改变时调用, 在 UiGrid 中调用 Insert(), Remove() 等函数时被动触发当前 Cell 索引值改变, Cell 业务逻辑需要用到索引值时, 那么就可以重写该函数<br/>
  65. /// 注意: 该函数第一次调用会在 OnSetData() 之前调用
  66. /// </summary>
  67. void OnRefreshIndex();
  68.  
  69. /// <summary>
  70. /// 销毁当前cell时调用
  71. /// </summary>
  72. void OnDestroy();
  73. }