Test.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Security.Policy;
  4. using Sfs2X;
  5. using Sfs2X.Util;
  6. using UnityEngine.UI;
  7. namespace AtlasUtility
  8. {
  9. using UnityEngine;
  10. //[ExecuteInEditMode]
  11. public class Test : MonoBehaviour
  12. {
  13. #region Variable
  14. public GameObject GameObject;
  15. public TextAsset TextAsset;
  16. public Text Text;
  17. public Texture2D Texture2D;
  18. public SpriteRenderer SpriteRenderer;
  19. public Sprite Sprite;
  20. public MeshFilter MeshFilter;
  21. public MeshRenderer MeshRenderer;
  22. public static Material Material;
  23. public static int TcpPort = 9933;
  24. public static string Host = "127.0.0.1";
  25. public static string Zone = "Garden";
  26. #endregion
  27. private SmartFox smartFox = new SmartFox();
  28. private VirtualScrollRectPlus VirtualScrollRectPlus;
  29. private void Start()
  30. {
  31. VirtualScrollRectPlus = GetComponent<VirtualScrollRectPlus>();
  32. VirtualScrollRectPlus.Init(5, 15, GetNextItem, GetPreviousItem, (i, item) => { item.SetParent(null); Items.Add(item); item.SetActive(false); });
  33. }
  34. private VirtualScrollRectItem GetPreviousItem(int index)
  35. {
  36. //Debug.LogWarning("previous " + index);
  37. if (index < 0)
  38. {
  39. return null;
  40. }
  41. else
  42. {
  43. if (Items.Count > 0)
  44. {
  45. VirtualScrollRectItem item = Items[0];
  46. item.GetComponentInChildren<Text>().text = index.ToString();
  47. item.SetParent(VirtualScrollRectPlus.content);
  48. Items.RemoveAt(0);
  49. item.SetActive(true);
  50. return item;
  51. }
  52. else
  53. {
  54. GameObject go = Instantiate(GameObject);
  55. go.GetComponentInChildren<Text>().text = index.ToString();
  56. VirtualScrollRectItem virtualScrollRectItem = go.GetComponent<VirtualScrollRectItem>();
  57. virtualScrollRectItem.Init();
  58. virtualScrollRectItem.SetParent(VirtualScrollRectPlus.content);
  59. return virtualScrollRectItem;
  60. }
  61. }
  62. }
  63. public int MaxAmount = 23;
  64. private List<VirtualScrollRectItem> Items = new List<VirtualScrollRectItem>();
  65. private VirtualScrollRectItem GetNextItem(int index)
  66. {
  67. //Debug.LogWarning("next " + index);
  68. if (index >= MaxAmount)
  69. {
  70. return null;
  71. }
  72. else
  73. {
  74. if (Items.Count > 0)
  75. {
  76. VirtualScrollRectItem item = Items[0];
  77. item.GetComponentInChildren<Text>().text = index.ToString();
  78. item.SetParent(VirtualScrollRectPlus.content);
  79. Items.RemoveAt(0);
  80. item.SetActive(true);
  81. return item;
  82. }
  83. else
  84. {
  85. GameObject go = Instantiate(GameObject);
  86. go.GetComponentInChildren<Text>().text = index.ToString();
  87. VirtualScrollRectItem virtualScrollRectItem = go.GetComponent<VirtualScrollRectItem>();
  88. virtualScrollRectItem.Init();
  89. virtualScrollRectItem.SetParent(VirtualScrollRectPlus.content);
  90. return virtualScrollRectItem;
  91. }
  92. }
  93. }
  94. private void Update()
  95. {
  96. if (Input.GetKeyDown(KeyCode.A))
  97. {
  98. ConfigData configData = new ConfigData
  99. {
  100. Host = Host,
  101. Port = TcpPort,
  102. Zone = Zone
  103. };
  104. smartFox.Connect(configData);
  105. Debug.Log("Send connect request");
  106. }
  107. smartFox.ProcessEvents();
  108. }
  109. private void OnApplicationQuit()
  110. {
  111. smartFox.Disconnect();
  112. //Debug.Log("Disconnect");
  113. }
  114. }
  115. }