public void RemoveOutdatedUI(NodeAddedEvent e, FriendUI newFriendUI, [Combine, JoinByUser] FriendUI oldFriendUI) { if (newFriendUI.Entity.Id != oldFriendUI.Entity.Id) { Object.Destroy(oldFriendUI.friendsListItem.gameObject); } }
void OnClickhaoyouB(ButtonScript obj, object args, int param1, int param2) { if (!GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_Friend)) { PopText.Instance.Show(LanguageManager.instance.GetValue("cannotopen")); return; } FriendUI.SwithShowMe(); if (GamePlayer.Instance.OpenFunEffectBtns.Contains((int)OpenSubSystemFlag.OSSF_Friend)) { GamePlayer.Instance.OpenFunEffectBtns.Remove((int)OpenSubSystemFlag.OSSF_Friend); } Transform txObj = obj.gameObject.transform.FindChild("lizixuanzhuan(Clone)"); if (txObj != null) { txObj.gameObject.SetActive(false); Destroy(txObj.gameObject); } NetConnection.Instance.uiBehavior(UIBehaviorType.UBT_Friend); }
public void RefreshChat() { if (isChatOn) { FriendsManager.Instance.friends[whoChat].isNew = false; } FriendsManager.Instance.sortedFriends.Sort((x1, x2) => { return(x1.latelyTime < x2.latelyTime ? 1 : -1); }); // 기존 객체 삭제 foreach (RectTransform friend in friendsParent.GetComponentInChildren <RectTransform>()) { if (friend != friendsParent) { GameObject.Destroy(friend.gameObject); } } // 채팅창 목록 변경 float scale = 0; for (int i = 0; i < FriendsManager.Instance.GetFriendsCount(); i++) { var newFriend = GameObject.Instantiate(friendUI, friendsParent); newFriend.name = "Friend"; var rect = newFriend.GetComponent <RectTransform>(); scale = rect.sizeDelta.y; rect.anchoredPosition = new Vector3(rect.anchoredPosition.x, scale * -i, 0); FriendUI fu = newFriend.GetComponent <FriendUI>(); fu.code = FriendsManager.Instance.sortedFriends[i].code; fu.name.text = FriendsManager.Instance.sortedFriends[i].name; fu.lastChat.text = FriendsManager.Instance.sortedFriends[i].lastChat.Substring(0, FriendsManager.Instance.sortedFriends[i].lastChat.Length >= 30 ? 30 : FriendsManager.Instance.sortedFriends[i].lastChat.Length); if (!FriendsManager.Instance.sortedFriends[i].isNew) { fu.nnnn.color = new Color(1, 1, 1, 0); } fu.profileImage.sprite = FriendsManager.Instance.sortedFriends[i].profileImage; if (isChatOn && whoChat == fu.code) { fu.background.color = new Color(215 / 255.0f, 226 / 255.0f, 223 / 255.0f); } } friendsParent.sizeDelta = new Vector2(friendsParent.sizeDelta.x, scale * FriendsManager.Instance.GetFriendsCount()); // 기존 객체 삭제 if (pre <= 0) { foreach (RectTransform message in messagesParent.GetComponentInChildren <RectTransform>()) { if (message != messagesParent) { GameObject.Destroy(message.gameObject); } } } // 채팅창 변경 for (int i = pre; i < FriendsManager.Instance.friends[whoChat].chattings.Count; i++) { GameObject newMessage; if (FriendsManager.Instance.friends[whoChat].chattings[i].isMe) { newMessage = GameObject.Instantiate(myMessage, messagesParent); } else { newMessage = GameObject.Instantiate(yourMessage, messagesParent); } newMessage.name = "message"; var rect = newMessage.GetComponent <RectTransform>(); rect.anchoredPosition = new Vector3(-4000, scale * -i, 0); StartCoroutine(AppearMessage(rect, scale * -i)); MessageUI mu = newMessage.GetComponent <MessageUI>(); mu.text.text = FriendsManager.Instance.friends[whoChat].chattings[i].message; if (!FriendsManager.Instance.friends[whoChat].chattings[i].isMe) { mu.profileImage.sprite = FriendsManager.Instance.friends[whoChat].profileImage; } if (mu.text.text.Length >= 30) { mu.text.text = mu.text.text.Insert(28, "\n"); } if (mu.text.text.Length >= 60) { mu.text.text = mu.text.text.Insert(56, "\n"); } } pre = FriendsManager.Instance.friends[whoChat].chattings.Count; messagesParent.sizeDelta = new Vector2(messagesParent.sizeDelta.x, scale * FriendsManager.Instance.friends[whoChat].chattings.Count); chatList.normalizedPosition = new Vector2(0, 0); }
void Awake() { instance = this; }