using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; using Newtonsoft.Json.Linq; namespace SmartBow { public class BoxFriendList : MonoBehaviour { void Awake() { GetMyFriendItemPrefab().SetActive(false); } void OnEnable() { Refresh(); } Transform GetMyFriendItemParent() { return transform.Find("ScrollView/Viewport/Content"); } GameObject GetMyFriendItemPrefab() { return GetMyFriendItemParent().Find("Item").gameObject; } //是否删除过好友,该记录可帮助提醒homeView的好友栏刷新 bool _hasDeleteAnyFriends = false; void Refresh() { for (int i = 1; i < GetMyFriendItemParent().childCount; i++) { Destroy(GetMyFriendItemParent().GetChild(i).gameObject); } Action cb = delegate (JArray list) { if (list.Count > 0) { foreach (var itemInfo in list) { int friendID = itemInfo.Value("friendID"); int avatarID = itemInfo.Value("avatarID"); string avatarUrl = itemInfo.Value("avatarUrl"); string nickname = itemInfo.Value("nickname"); bool online = itemInfo.Value("online"); long offlineTime = itemInfo.Value("offlineTime"); GameObject o = Instantiate(GetMyFriendItemPrefab(), GetMyFriendItemParent()); o.SetActive(true); o.name = friendID.ToString(); RoleMgr.SetAvatarToImage( o.transform.Find("Avatar/Sprite").GetComponent(), avatarID, avatarUrl); o.transform.Find("Name").GetComponent().text = nickname; //在线提示 Text onlineTip = o.transform.Find("OnlineTip").GetComponent(); GameObject onlinePoint = onlineTip.transform.Find("PointOnline").gameObject; if (online) { onlineTip.enabled = false; onlinePoint.SetActive(true); } else { onlineTip.enabled = true; onlineTip.text = TimeUtil.GetOfflineTimeStr(offlineTime, online); onlinePoint.SetActive(false); } //删除按钮 Button btnDelete = o.transform.Find("BtnDelete").GetComponent