Update Disconnect button view

This commit is contained in:
Anthony Calosa
2020-04-07 19:00:53 +08:00
parent 0b9a9fc2a9
commit 3e1fe53b77
2 changed files with 18 additions and 2 deletions

View File

@@ -24,7 +24,7 @@ public class OnlineLobbyScreen extends LobbyScreen implements IOnlineLobby {
private static GameLobby gameLobby;
public GameLobby getGameLobby() {
public static GameLobby getGameLobby() {
return gameLobby;
}
@@ -114,6 +114,8 @@ public class OnlineLobbyScreen extends LobbyScreen implements IOnlineLobby {
}
});
}
//update menu buttons
OnlineScreen.Lobby.update();
}
});
}

View File

@@ -15,11 +15,13 @@ import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FOptionPane;
import forge.util.Callback;
import static forge.screens.online.OnlineLobbyScreen.getGameLobby;
public class OnlineMenu extends FPopupMenu {
public enum OnlineScreen {
Lobby("Lobby", FSkinImage.QUEST_GEAR, OnlineLobbyScreen.class),
Chat("Chat", FSkinImage.QUEST_NOTES, OnlineChatScreen.class),
Disconnect("Disconnect", FSkinImage.EXILE, null);;
Disconnect("Disconnect", FSkinImage.DELETE, null);
private final FMenuItem item;
private final Class<? extends FScreen> screenClass;
@@ -72,6 +74,7 @@ public class OnlineMenu extends FPopupMenu {
return;
}
}
update();
}
public void open() {
@@ -88,6 +91,17 @@ public class OnlineMenu extends FPopupMenu {
initializeScreen();
return screen;
}
public void update(){
for (OnlineScreen ngs : OnlineScreen.values()) {
if (ngs.ordinal() == 2){ //disconect
if (getGameLobby() == null)
ngs.item.setEnabled(false);
else
ngs.item.setEnabled(true);
}
}
}
}
private static final ForgePreferences prefs = FModel.getPreferences();