public static SMsgAnswerFriends_SC ParsePackage(byte[] dataBuffer) { SMsgAnswerFriends_SC sMsgAnswerFriends_SC = new SMsgAnswerFriends_SC(); int of = 0; of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgAnswerFriends_SC.dwActorID); of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgAnswerFriends_SC.dwFriendActorID); byte[] buffer; of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out buffer, Marshal.SizeOf(typeof(SMsgRecvAnswerFriends_SC))); sMsgAnswerFriends_SC.sMsgRecvAnswerFriends_SC = SMsgRecvAnswerFriends_SC.ParsePackage(buffer); //sMsgAnswerFriends_SC.dwActorID = BitConverter.ToUInt32(dataBuffer, 0); //sMsgAnswerFriends_SC.dwFriendActorID = BitConverter.ToUInt32(dataBuffer, 4); //int dataLength = 19 + 4 + 4 + 4 + 4 + 4 + 4 + 4; //等于Mashal.Sizeof(SMsgRecvAnswerFriends_SC); return(sMsgAnswerFriends_SC); }
CommandCallbackType RecvFriendAnswerHandle(byte[] dataBuffer, int socketID) { SMsgAnswerFriends_SC sMsgAnswerFriends_SC = SMsgAnswerFriends_SC.ParsePackage(dataBuffer); PanelElementDataModel panelElement = new PanelElementDataModel(); panelElement.sMsgRecvAnswerFriends_SC = sMsgAnswerFriends_SC.sMsgRecvAnswerFriends_SC; panelElement.BtnType = ButtonType.FriendList; FriendDataManager.Instance.RegFriendData(panelElement); FriendDataManager.Instance.IsCreateFriendUI = true; if (GameManager.Instance.CurrentState == GameManager.GameState.GAME_STATE_TOWN) { if (UI.MessageBox.Instance != null) { UI.MessageBox.Instance.ShowTips(4, LanguageTextManager.GetString("IDS_I23_18"), 1f); } } FriendDataManager.Instance.DeleteRequest(sMsgAnswerFriends_SC.dwFriendActorID); RaiseEvent(EventTypeEnum.AddFriendSuccess.ToString(), null); return(CommandCallbackType.Continue); }