Unity 框架

TableColumn.cs 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /****************************************************
  2. 文件:TableColumn.cs
  3. 作者:陶长春
  4. 邮箱:376248129@qq.com
  5. 日期:2024年12月12日 8:06:25
  6. UnityVersion: 2021.3.13f1
  7. 功能:表格列数据处理
  8. *****************************************************/
  9. using System.Collections;
  10. using UnityEngine;
  11. using System.Collections.Generic;
  12. using UnityEditor.IMGUI.Controls;
  13. namespace TFramework
  14. {
  15. public class TableColumn<T> : MultiColumnHeaderState.Column where T : class, new()
  16. {
  17. /// <summary>
  18. /// 绘制列元素的方法
  19. /// </summary>
  20. public DrawCellMethod<T> DrawCell;
  21. /// <summary>
  22. /// 对比列元素的方法
  23. /// </summary>
  24. public CompareMethod<T> Compare;
  25. }
  26. /// <summary>
  27. /// 绘制列元素的方法
  28. /// </summary>
  29. /// <typeparam name="T">数据类型</typeparam>
  30. /// <param name="cellRect">绘制区域</param>
  31. /// <param name="data">绘制数据</param>
  32. /// <param name="rowIndex">在表格中的行索引</param>
  33. /// <param name="isSelected">是否选中</param>
  34. /// <param name="isFocused">是否焦点</param>
  35. public delegate void DrawCellMethod<T>(Rect cellRect, T data, int rowIndex, bool isSelected, bool isFocused);
  36. /// <summary>
  37. /// 对比列元素的方法
  38. /// </summary>
  39. /// <typeparam name="T">数据类型</typeparam>
  40. /// <param name="data1">数据1</param>
  41. /// <param name="data2">数据2</param>
  42. /// <returns>排序号</returns>
  43. public delegate int CompareMethod<T>(T data1, T data2);
  44. }