Example #1
0
    /// <summary>
    /// 新好友请求
    /// </summary>
    CommandCallbackType RecvAddFriendHandle(byte[] dataBuffer, int socketID)
    {
        SMsgAdddFriends_SC sMsgAdddFriends_SC = SMsgAdddFriends_SC.ParsePackage(dataBuffer);

        PanelElementDataModel panelElement = new PanelElementDataModel();

        panelElement.sMsgRecvAnswerFriends_SC = sMsgAdddFriends_SC.sMsgRecvAnswerFriends_SC;
        panelElement.RequestTime = sMsgAdddFriends_SC.tCurTime;
        panelElement.BtnType     = ButtonType.AddFriend;

        FriendDataManager.Instance.IsCreateFriendUI = true;
        FriendDataManager.Instance.RegRequestData(panelElement);

        if (GameManager.Instance.CreateEntityIM)
        {
            UIEventManager.Instance.TriggerUIEvent(UIEventType.PlayMainBtnAnim, UI.MainUI.UIType.Friend);
        }
        else
        {
            PlayerFactory.Instance.RegisterPlayerAfterSceneLoadedFun("RecvAddFriendHandle", () => {
                UIEventManager.Instance.TriggerUIEvent(UIEventType.PlayMainBtnAnim, UI.MainUI.UIType.Friend);
            });
        }

        return(CommandCallbackType.Continue);
    }
Example #2
0
    //[MarshalAs(UnmanagedType.ByValArray, SizeConst = 19)]
    //public char[] cSendRequestName;			//发送好友请求的玩家的名字

    public static SMsgAdddFriends_SC ParsePackage(byte[] dataBuffer)
    {
        SMsgAdddFriends_SC sMsgAdddFriends_SC = new SMsgAdddFriends_SC();

        int of = 0;

        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgAdddFriends_SC.dSendRequestActorID);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgAdddFriends_SC.dReceiverActorID);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgAdddFriends_SC.tCurTime);
        byte[] buffer;
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out buffer, Marshal.SizeOf(typeof(SMsgRecvAnswerFriends_SC)));
        sMsgAdddFriends_SC.sMsgRecvAnswerFriends_SC = SMsgRecvAnswerFriends_SC.ParsePackage(buffer);

        //sMsgAdddFriends_SC.dSendRequestActorID = BitConverter.ToUInt32(dataBuffer, 0);
        //sMsgAdddFriends_SC.tCurTime = BitConverter.ToUInt64(dataBuffer, 4);
        //int dataLength = 19 + 4 + 4 + 4 + 4 + 4 + 4 + 4;  //等于Mashal.Sizeof(SMsgRecvAnswerFriends_SC);

        //sMsgAdddFriends_SC.cSendRequestName = BitConverter.ToString(dataBuffer, 4, 19).ToCharArray();

        return(sMsgAdddFriends_SC);
    }