package fr.lyrgard.hexScape.gui.desktop.view.room;
import java.util.ArrayList;
import java.util.Collection;
import com.google.common.eventbus.Subscribe;
import fr.lyrgard.hexScape.bus.GuiMessageBus;
import fr.lyrgard.hexScape.message.ConnectedToServerMessage;
import fr.lyrgard.hexScape.message.DisconnectedFromServerMessage;
public class ActivateOnlineService {
private static ActivateOnlineService INSTANCE;
private Collection<Object> objectsToActivateOnline = new ArrayList<Object>();
public static ActivateOnlineService getInstance() {
if (INSTANCE == null) {
INSTANCE = new ActivateOnlineService();
}
return INSTANCE;
}
private ActivateOnlineService() {
GuiMessageBus.register(this);
}
public void register(Object object) {
objectsToActivateOnline.add(object);
}
@Subscribe public void onConnectedToServer(ConnectedToServerMessage message) {
for (Object object : objectsToActivateOnline) {
GuiMessageBus.register(object);
}
}
@Subscribe public void onDisconnectedFromServer(DisconnectedFromServerMessage message) {
for (Object object : objectsToActivateOnline) {
GuiMessageBus.unregister(object);
}
}
}