private static void HandleDecline(GameSession session, PacketReader packet) { long buddyId = packet.ReadLong(); Buddy buddy = GameServer.BuddyManager.GetBuddyByPlayerAndId(session.Player, buddyId); Buddy buddyFriend = GameServer.BuddyManager.GetBuddyByPlayerAndId(buddy.Friend, buddyId); session.Send(BuddyPacket.DeclineRequest(buddy)); if (buddy.Friend != null) // TODO: Change to send if online { buddy.Friend.Session.Send(BuddyPacket.RemoveFromList(buddyFriend)); } GameServer.BuddyManager.RemoveBuddy(buddy); GameServer.BuddyManager.RemoveBuddy(buddyFriend); session.Player.BuddyList.Remove(buddy); buddy.Friend.BuddyList.Remove(buddyFriend); }
private static void HandleDecline(GameSession session, PacketReader packet) { long buddyId = packet.ReadLong(); Buddy buddy = GameServer.BuddyManager.GetBuddyByPlayerAndId(session.Player, buddyId); Buddy buddyFriend = GameServer.BuddyManager.GetBuddyByPlayerAndId(buddy.Friend, buddyId); session.Send(BuddyPacket.DeclineRequest(buddy)); Player otherPlayer = GameServer.PlayerManager.GetPlayerByName(buddy.Friend.Name); if (otherPlayer != null) { otherPlayer.Session.Send(BuddyPacket.RemoveFromList(buddyFriend)); otherPlayer.BuddyList.Remove(buddyFriend); } GameServer.BuddyManager.RemoveBuddy(buddy); GameServer.BuddyManager.RemoveBuddy(buddyFriend); session.Player.BuddyList.Remove(buddy); DatabaseManager.Buddies.Delete(buddy.Id); DatabaseManager.Buddies.Delete(buddyFriend.Id); }