TestMain.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine.UI;
  5. /// <summary>
  6. /// 滚动列表优化,元素循环使用
  7. /// </summary>
  8. public class TestMain : MonoBehaviour
  9. {
  10. /// <summary>
  11. /// 测试用数据
  12. /// </summary>
  13. private List<Item> mData = new List<Item>();
  14. /// <summary>
  15. /// 滚动列表优化
  16. /// </summary>
  17. private UIWarpContent1 warpContent = null;
  18. /// <summary>
  19. /// 初始化
  20. /// </summary>
  21. private void Start()
  22. {
  23. // 组织测试数据
  24. for (int i = 0; i < 50; i++)
  25. {
  26. mData.Add(new Item("测试:" + i.ToString()));
  27. }
  28. warpContent = gameObject.transform.GetComponentInChildren<UIWarpContent1>();
  29. warpContent.onInitializeItem = onInitializeItem;
  30. // 注意:目标init方法必须在warpContent.onInitializeItem之后
  31. warpContent.Init(mData.Count);
  32. }
  33. /// <summary>
  34. /// 元素初始化
  35. /// </summary>
  36. /// <param name="go"> 元素 </param>
  37. /// <param name="dataIndex"> 数据索引 </param>
  38. private void onInitializeItem(GameObject go, int dataIndex)
  39. {
  40. Text text = go.transform.Find("Text").GetComponent<Text>();
  41. text.text = "i:" + dataIndex + "_N:" + mData[dataIndex].Name();
  42. }
  43. /// <summary>
  44. /// 测试用数据结构
  45. /// </summary>
  46. public class Item
  47. {
  48. /// <summary>
  49. /// 名称
  50. /// </summary>
  51. private string name;
  52. /// <summary>
  53. /// 构造函数
  54. /// </summary>
  55. /// <param name="name"> 名称字符串 </param>
  56. public Item(string name)
  57. {
  58. this.name = name;
  59. }
  60. /// <summary>
  61. /// 获取名称
  62. /// </summary>
  63. /// <returns> 名称字符串 </returns>
  64. public string Name()
  65. {
  66. return this.name;
  67. }
  68. /// <summary>
  69. /// 删除
  70. /// </summary>
  71. public void destroy()
  72. {
  73. this.name = null;
  74. }
  75. }
  76. }