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. /// 获取所在网格组件
  19. /// </summary>
  20. IUiGrid GetGrid();
  21.  
  22. /// <summary>
  23. /// 当前 Cell 初始化时调用
  24. /// </summary>
  25. void OnInit();
  26.  
  27. /// <summary>
  28. /// 如果启用了当前 Cell, 则每帧调用
  29. /// </summary>
  30. void Process(float delta);
  31. /// <summary>
  32. /// 触发当前 Cell 的点击
  33. /// </summary>
  34. void Click();
  35. /// <summary>
  36. /// 当前Ui被点击时调用<br/>
  37. /// 如果 Cell 的模板为 BaseButton 类型, 则 UiCell 会自动绑定点击事件<br/>
  38. /// 如果需要自己绑定点击事件, 请绑定 UiCell.Click() 函数<br/>
  39. /// 如果当前 Cell 未被选中, 则 OnSelect() 会比 OnClick() 先调用
  40. /// </summary>
  41. void OnClick();
  42.  
  43. /// <summary>
  44. /// 双击当前 Cell 调用
  45. /// </summary>
  46. void OnDoubleClick();
  47.  
  48. /// <summary>
  49. /// 当启用当前 Cell 时调用
  50. /// </summary>
  51. void OnEnable();
  52.  
  53. /// <summary>
  54. /// 当禁用当前 Cell 时调用, 也就是被回收时调用
  55. /// </summary>
  56. void OnDisable();
  57. /// <summary>
  58. /// 当检测当前 Cell 是否可以被选中时调用
  59. /// </summary>
  60. bool CanSelect();
  61. /// <summary>
  62. /// 当前 Cell 选中时调用, 设置 UiGrid.SelectIndex 时触发
  63. /// </summary>
  64. void OnSelect();
  65.  
  66. /// <summary>
  67. /// 当前 Cell 取消选中时调用, 设置 UiGrid.SelectIndex 时触发
  68. /// </summary>
  69. void OnUnSelect();
  70.  
  71. /// <summary>
  72. /// 当 Cell 索引发生改变时调用, 在 UiGrid 中调用 Insert(), Remove() 等函数时被动触发当前 Cell 索引值改变, Cell 业务逻辑需要用到索引值时, 那么就可以重写该函数<br/>
  73. /// 注意: 该函数第一次调用会在 OnSetData() 之前调用
  74. /// </summary>
  75. void OnRefreshIndex();
  76.  
  77. /// <summary>
  78. /// 销毁当前cell时调用
  79. /// </summary>
  80. void OnDestroy();
  81. }