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); } }
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); } }