package handling.world;
import client.MapleCharacter;
import handling.channel.ChannelServer;
import java.util.Iterator;
import java.util.List;
public class WorldBroadcastService {
public static WorldBroadcastService getInstance() {
return SingletonHolder.instance;
}
public void broadcastSmega(byte[] message) {
for (ChannelServer cs : ChannelServer.getAllInstances()) {
cs.broadcastSmega(message);
}
}
public void broadcastGMMessage(byte[] message) {
for (ChannelServer cs : ChannelServer.getAllInstances()) {
cs.broadcastGMMessage(message);
}
}
public void broadcastMessage(byte[] message) {
for (ChannelServer cs : ChannelServer.getAllInstances()) {
cs.broadcastMessage(message);
}
}
public void startMapEffect(String msg, int itemId) {
for (ChannelServer cs : ChannelServer.getAllInstances()) {
cs.startMapEffect(msg, itemId);
}
}
public void startMapEffect(String msg, int itemId, int time) {
for (ChannelServer cs : ChannelServer.getAllInstances()) {
cs.startMapEffect(msg, itemId, time);
}
}
public void sendPacket(List<Integer> targetIds, byte[] packet, int exception) {
for (Iterator i$ = targetIds.iterator(); i$.hasNext();) {
int i = ((Integer) i$.next());
if (i == exception) {
continue;
}
int ch = WorldFindService.getInstance().findChannel(i);
if (ch < 0) {
continue;
}
MapleCharacter chr = ChannelServer.getInstance(ch).getPlayerStorage().getCharacterById(i);
if (chr != null) {
chr.getClient().getSession().write(packet);
}
}
}
public void sendPacket(int targetId, byte[] packet) {
int ch = WorldFindService.getInstance().findChannel(targetId);
if (ch < 0) {
return;
}
MapleCharacter chr = ChannelServer.getInstance(ch).getPlayerStorage().getCharacterById(targetId);
if (chr != null) {
chr.getClient().getSession().write(packet);
}
}
public void sendGuildPacket(int targetIds, byte[] packet, int exception, int guildid) {
if (targetIds == exception) {
return;
}
int ch = WorldFindService.getInstance().findChannel(targetIds);
if (ch < 0) {
return;
}
MapleCharacter chr = ChannelServer.getInstance(ch).getPlayerStorage().getCharacterById(targetIds);
if ((chr != null) && (chr.getGuildId() == guildid)) {
chr.getClient().getSession().write(packet);
}
}
private static class SingletonHolder {
protected static final WorldBroadcastService instance = new WorldBroadcastService();
}
}