Exemplo n.º 1
0
        private static void HandleCancelRequest(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.CancelRequest(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);
        }
Exemplo n.º 2
0
    private static void HandleCancelRequest(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.CancelRequest(buddy));

        Player targetPlayer = GameServer.PlayerManager.GetPlayerByName(buddy.Friend.Name);

        if (targetPlayer != null)
        {
            targetPlayer.Session.Send(BuddyPacket.RemoveFromList(buddyFriend));
            targetPlayer.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);
    }