/// <summary> /// 处理服务器返回的好友列表的消息 /// </summary> /// <param name="msg"></param> private void FriendsListHandle(object msg) { //清除原来的数据 GameObject[] oldFriends = GameObject.FindGameObjectsWithTag("FRIENDINVITE"); foreach (GameObject oldFriend in oldFriends) { Destroy(oldFriend); } //加载预制体 GameObject _friend = Resources.Load("FriendInvite") as GameObject; var friends = msg as mmopb.friendsList_ack; Dictionary <Int32, mmopb.p_FriendsInfo> friendList = friends.friendList; foreach (KeyValuePair <Int32, mmopb.p_FriendsInfo> friendInfo in friendList) { if (friendInfo.Value.isOnline == 2) { // 对象初始化 GameObject friend = Instantiate(_friend, roomView.friendsTransForm); FriendInviteDetail friendInviteDetail = roomView.GetComponentInChildren <FriendInviteDetail>(); friendInviteDetail.friendName.text = friendInfo.Value.nickName; friendInviteDetail.friendId = friendInfo.Key; } } }
/// <summary> /// 点击邀请好友列表界面的邀请按钮(对勾) /// </summary> /// <param name="param"></param> private void ClickInviteTargetFriend(object param) { button.clip = sendMsg; button.Play(); var inviteFriendMsg = new mmopb.inviteFriend_req(); GameObject friend = (GameObject)param; FriendInviteDetail friendInviteDetail = friend.GetComponent <FriendInviteDetail>(); inviteFriendMsg.roleId = friendInviteDetail.friendId; ClientNet.Instance.Send(ProtoHelper.EncodeWithName(inviteFriendMsg)); }