using UnityEngine; using System.Collections.Generic; using UnityEngine.UI; using UIWidgets; using AX.NetworkSystem; using AX.MessageSystem; public class UserList : MonoBehaviour { // Use this for initialization public TreeView treeView; public GameObject itemPrefab; public List userList = new List(); void Start() { MessageDispatcher.AddListener("USER_DATA_REFRESH", setUserList); treeView.NodeSelected.AddListener(getUserListRequest); } void OnDestroy() { MessageDispatcher.RemoveListener("USER_DATA_REFRESH", setUserList); treeView.NodeSelected.RemoveListener(getUserListRequest); } // Update is called once per frame void Update() { } private void getUserListRequest(TreeNode node) { var deptID = (int)node.Item.Tag; NetworkManager.Default.SendRequestAsync("GET_USER_LIST_REQUEST", deptID); } private void setUserList(IMessage message) { userList = (List)(message.Data); foreach (Transform child in this.transform) { Destroy(child.gameObject); } foreach (UserInfo user in userList) { GameObject item = Instantiate(itemPrefab) as GameObject; item.transform.parent = transform; item.name = "Item"; item.GetComponent().setUser(user); item.GetComponent().group = GetComponent(); } } public void resetList() { foreach (Transform child in this.transform) { Destroy(child.gameObject); } } }