/* * IDK Game Server by Steve Winfield * https://github.com/WinfieldSteve */ package org.stevewinfield.suja.idk.communication.messenger.readers; import org.magicwerk.brownies.collections.GapList; import org.stevewinfield.suja.idk.InputFilter; import org.stevewinfield.suja.idk.communication.IMessageReader; import org.stevewinfield.suja.idk.communication.MessageReader; import org.stevewinfield.suja.idk.network.sessions.Session; import java.util.List; public class SendInstantInviteReader implements IMessageReader { @Override public void parse(final Session session, final MessageReader reader) { if (!session.isAuthenticated()) { return; } final int amount = reader.readInteger(); final List<Integer> playerIds = new GapList<>(); for (int i = 0; i < amount; i++) { playerIds.add(reader.readInteger()); } String message = InputFilter.filterString(reader.readUTF(), false); if (message.length() > 121) { message = message.substring(0, 121); } for (final int playerId : playerIds) { if (session.getPlayerMessenger().getOnlineBuddies().containsKey(playerId)) { session.getPlayerMessenger().getOnlineBuddies().get(playerId).getSession().getPlayerMessenger().onInviteReceived(session.getPlayerInstance().getInformation().getId(), message); } } } }