/// <summary> /// 好友单属性更新 /// </summary> CommandCallbackType RecvFriendUpdateHandle(byte[] dataBuffer, int socketID) { SMsgUpdateFriendProp_SC sMsgUpdateFriendProp_SC = PackageHelper.BytesToStuct <SMsgUpdateFriendProp_SC>(dataBuffer); FriendDataManager.Instance.UpdateFriendProp(sMsgUpdateFriendProp_SC); //FriendDataManager.Instance.RegUpdateFriendStatus(sMsgUpdateFriendProp_SC); return(CommandCallbackType.Continue); }
/// <summary> /// 更新好友数据 /// </summary> /// <param name="sMsgUpdateFriendProp_SC">更新好友数据的结构体</param> public void UpdateFriendProp(SMsgUpdateFriendProp_SC sMsgUpdateFriendProp_SC) { for (int i = 0; i < m_friendList.Count; i++) { if (sMsgUpdateFriendProp_SC.dwFriendActorID == m_friendList[i].sMsgRecvAnswerFriends_SC.dwFriendID) { m_friendList[i].sMsgRecvAnswerFriends_SC.SetValue(sMsgUpdateFriendProp_SC.byIndex, sMsgUpdateFriendProp_SC.dwPropNum); } } }
/// <summary> /// 好友上下线通知 /// </summary> CommandCallbackType RecvFriendRemindHandle(byte[] dataBuffer, int socketID) { SMsgUpdateOnLine_SC sMsgUpdateOnLine_SC = PackageHelper.BytesToStuct <SMsgUpdateOnLine_SC>(dataBuffer); SMsgUpdateFriendProp_SC sMsgUpdateFriendProp_SC = new SMsgUpdateFriendProp_SC(); sMsgUpdateFriendProp_SC.dwFriendActorID = sMsgUpdateOnLine_SC.dwFriendActorID; sMsgUpdateFriendProp_SC.byIndex = 5; sMsgUpdateFriendProp_SC.dwPropNum = sMsgUpdateOnLine_SC.byBeOnLine; FriendDataManager.Instance.UpdateFriendProp(sMsgUpdateFriendProp_SC); FriendDataManager.Instance.SortFriendList(); //FriendDataManager.Instance.RegUpdateFriendStatus(sMsgUpdateFriendProp_SC); if (FriendDataManager.Instance.CurPanelState == PanelState.MYFRIENDLIST) { FriendDataManager.Instance.IsUpdateFriendList = true; } return(CommandCallbackType.Continue); }