Beispiel #1
0
        public void GetBuddyAddResult(Packet inPacket)
        {
            byte addBuddyChannel  = inPacket.ReadByte();
            int  addBuddyID       = inPacket.ReadInt();
            int  characterID      = inPacket.ReadInt();
            byte characterChannel = inPacket.ReadByte();

            BuddyAddResult result = this[addBuddyChannel].RequestBuddyAddResult(addBuddyID, characterID);

            using (Packet outPacket = new Packet(InteroperabilityOperationCode.BuddyAddResultResponse))
            {
                outPacket.WriteInt(characterID);
                outPacket.WriteByte((byte)result);

                this[characterChannel].Send(outPacket);
            }
        }
Beispiel #2
0
        public void ResponseBuddyAddResult(Packet inPacket)
        {
            int            addBuddyID  = inPacket.ReadInt();
            int            characterID = inPacket.ReadInt();
            Character      addBuddy    = ChannelData.Characters[addBuddyID];
            BuddyAddResult result      = BuddyAddResult.Success;

            if (addBuddy.BuddyList.Count == addBuddy.MaxBuddies)
            {
                result = BuddyAddResult.BuddyListFull;
            }
            else if (addBuddy.BuddyList.Contains(characterID))
            {
                result = BuddyAddResult.AlreadyOnList;
            }

            using (Packet outPacket = new Packet(InteroperabilityOperationCode.BuddyAddResultResponse))
            {
                outPacket.WriteInt(addBuddyID);
                outPacket.WriteByte((byte)result);

                this.Send(outPacket);
            }
        }