mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Create shell for Online Multiplayer Lobby
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -915,6 +915,8 @@ forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuil
|
|||||||
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java -text
|
||||||
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java -text
|
||||||
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java -text
|
||||||
|
forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java -text
|
||||||
forge-gui-desktop/src/main/java/forge/screens/home/package-info.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/package-info.java -text
|
||||||
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java -text
|
||||||
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java -text
|
forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java -text
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import forge.screens.home.gauntlet.VSubmenuGauntletBuild;
|
|||||||
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
||||||
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
||||||
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
||||||
|
import forge.screens.home.online.VSubmenuOnlineLobby;
|
||||||
import forge.screens.home.quest.*;
|
import forge.screens.home.quest.*;
|
||||||
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
||||||
import forge.screens.home.sanctioned.VSubmenuDraft;
|
import forge.screens.home.sanctioned.VSubmenuDraft;
|
||||||
@@ -29,79 +30,80 @@ import forge.screens.workshop.views.VWorkshopCatalog;
|
|||||||
*
|
*
|
||||||
* <br><br><i>(E at beginning of class name denotes an enum.)</i>
|
* <br><br><i>(E at beginning of class name denotes an enum.)</i>
|
||||||
*/
|
*/
|
||||||
public enum EDocID { /** */
|
public enum EDocID {
|
||||||
CARD_PICTURE (VPicture.SINGLETON_INSTANCE), /** */
|
CARD_PICTURE (VPicture.SINGLETON_INSTANCE),
|
||||||
CARD_DETAIL (VDetail.SINGLETON_INSTANCE), /** */
|
CARD_DETAIL (VDetail.SINGLETON_INSTANCE),
|
||||||
CARD_ANTES (VAntes.SINGLETON_INSTANCE), /** */
|
CARD_ANTES (VAntes.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
EDITOR_ALLDECKS (VAllDecks.SINGLETON_INSTANCE), /** */
|
EDITOR_ALLDECKS (VAllDecks.SINGLETON_INSTANCE),
|
||||||
EDITOR_STATISTICS (VStatistics.SINGLETON_INSTANCE), /** */
|
EDITOR_STATISTICS (VStatistics.SINGLETON_INSTANCE),
|
||||||
EDITOR_PROBABILITIES (VProbabilities.SINGLETON_INSTANCE), /** */
|
EDITOR_PROBABILITIES (VProbabilities.SINGLETON_INSTANCE),
|
||||||
EDITOR_CATALOG (VCardCatalog.SINGLETON_INSTANCE), /** */
|
EDITOR_CATALOG (VCardCatalog.SINGLETON_INSTANCE),
|
||||||
EDITOR_CURRENTDECK (VCurrentDeck.SINGLETON_INSTANCE), /** */
|
EDITOR_CURRENTDECK (VCurrentDeck.SINGLETON_INSTANCE),
|
||||||
EDITOR_DECKGEN (VDeckgen.SINGLETON_INSTANCE), /** */
|
EDITOR_DECKGEN (VDeckgen.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
WORKSHOP_CATALOG (VWorkshopCatalog.SINGLETON_INSTANCE), /** */
|
WORKSHOP_CATALOG (VWorkshopCatalog.SINGLETON_INSTANCE),
|
||||||
WORKSHOP_CARDDESIGNER (VCardDesigner.SINGLETON_INSTANCE), /** */
|
WORKSHOP_CARDDESIGNER (VCardDesigner.SINGLETON_INSTANCE),
|
||||||
WORKSHOP_CARDSCRIPT (VCardScript.SINGLETON_INSTANCE), /** */
|
WORKSHOP_CARDSCRIPT (VCardScript.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
HOME_QUESTDRAFTS (VSubmenuQuestDraft.SINGLETON_INSTANCE), /** */
|
HOME_QUESTDRAFTS (VSubmenuQuestDraft.SINGLETON_INSTANCE),
|
||||||
HOME_QUESTCHALLENGES (VSubmenuChallenges.SINGLETON_INSTANCE), /** */
|
HOME_QUESTCHALLENGES (VSubmenuChallenges.SINGLETON_INSTANCE),
|
||||||
HOME_QUESTDUELS (VSubmenuDuels.SINGLETON_INSTANCE), /** */
|
HOME_QUESTDUELS (VSubmenuDuels.SINGLETON_INSTANCE),
|
||||||
HOME_QUESTDATA (VSubmenuQuestData.SINGLETON_INSTANCE), /** */
|
HOME_QUESTDATA (VSubmenuQuestData.SINGLETON_INSTANCE),
|
||||||
HOME_QUESTDECKS (VSubmenuQuestDecks.SINGLETON_INSTANCE), /** */
|
HOME_QUESTDECKS (VSubmenuQuestDecks.SINGLETON_INSTANCE),
|
||||||
HOME_QUESTPREFS (VSubmenuQuestPrefs.SINGLETON_INSTANCE), /** */
|
HOME_QUESTPREFS (VSubmenuQuestPrefs.SINGLETON_INSTANCE),
|
||||||
HOME_GAUNTLETBUILD (VSubmenuGauntletBuild.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETBUILD (VSubmenuGauntletBuild.SINGLETON_INSTANCE),
|
||||||
HOME_GAUNTLETLOAD (VSubmenuGauntletLoad.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETLOAD (VSubmenuGauntletLoad.SINGLETON_INSTANCE),
|
||||||
HOME_GAUNTLETQUICK (VSubmenuGauntletQuick.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETQUICK (VSubmenuGauntletQuick.SINGLETON_INSTANCE),
|
||||||
HOME_GAUNTLETCONTESTS (VSubmenuGauntletContests.SINGLETON_INSTANCE), /** */
|
HOME_GAUNTLETCONTESTS (VSubmenuGauntletContests.SINGLETON_INSTANCE),
|
||||||
HOME_PREFERENCES (VSubmenuPreferences.SINGLETON_INSTANCE), /** */
|
HOME_PREFERENCES (VSubmenuPreferences.SINGLETON_INSTANCE),
|
||||||
HOME_ACHIEVEMENTS (VSubmenuAchievements.SINGLETON_INSTANCE), /** */
|
HOME_ACHIEVEMENTS (VSubmenuAchievements.SINGLETON_INSTANCE),
|
||||||
HOME_AVATARS (VSubmenuAvatars.SINGLETON_INSTANCE), /** */
|
HOME_AVATARS (VSubmenuAvatars.SINGLETON_INSTANCE),
|
||||||
HOME_UTILITIES (VSubmenuDownloaders.SINGLETON_INSTANCE), /** */
|
HOME_UTILITIES (VSubmenuDownloaders.SINGLETON_INSTANCE),
|
||||||
HOME_CONSTRUCTED (VSubmenuConstructed.SINGLETON_INSTANCE), /** */
|
HOME_CONSTRUCTED (VSubmenuConstructed.SINGLETON_INSTANCE),
|
||||||
HOME_DRAFT (VSubmenuDraft.SINGLETON_INSTANCE), /** */
|
HOME_DRAFT (VSubmenuDraft.SINGLETON_INSTANCE),
|
||||||
HOME_SEALED (VSubmenuSealed.SINGLETON_INSTANCE), /** */
|
HOME_SEALED (VSubmenuSealed.SINGLETON_INSTANCE),
|
||||||
HOME_WINSTON (VSubmenuWinston.SINGLETON_INSTANCE), /** */
|
HOME_WINSTON (VSubmenuWinston.SINGLETON_INSTANCE),
|
||||||
|
HOME_LOBBY (VSubmenuOnlineLobby.SINGLETON_INSTANCE),
|
||||||
HOME_RELEASE_NOTES (VSubmenuReleaseNotes.SINGLETON_INSTANCE),
|
HOME_RELEASE_NOTES (VSubmenuReleaseNotes.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
REPORT_MESSAGE (VPrompt.SINGLETON_INSTANCE), /** */
|
REPORT_MESSAGE (VPrompt.SINGLETON_INSTANCE),
|
||||||
REPORT_STACK (VStack.SINGLETON_INSTANCE), /** */
|
REPORT_STACK (VStack.SINGLETON_INSTANCE),
|
||||||
REPORT_COMBAT (VCombat.SINGLETON_INSTANCE), /** */
|
REPORT_COMBAT (VCombat.SINGLETON_INSTANCE),
|
||||||
REPORT_LOG (VLog.SINGLETON_INSTANCE), /** */
|
REPORT_LOG (VLog.SINGLETON_INSTANCE),
|
||||||
REPORT_PLAYERS (VPlayers.SINGLETON_INSTANCE), /** */
|
REPORT_PLAYERS (VPlayers.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
DEV_MODE (VDev.SINGLETON_INSTANCE), /** */
|
DEV_MODE (VDev.SINGLETON_INSTANCE),
|
||||||
BUTTON_DOCK (VDock.SINGLETON_INSTANCE), /** */
|
BUTTON_DOCK (VDock.SINGLETON_INSTANCE),
|
||||||
|
|
||||||
// Non-user battlefields (AI or teammate), use setDoc to register.
|
// Non-user battlefields (AI or teammate), use setDoc to register.
|
||||||
FIELD_0 (null), /** */
|
FIELD_0 (null),
|
||||||
FIELD_1 (null), /** */
|
FIELD_1 (null),
|
||||||
FIELD_2 (null), /** */
|
FIELD_2 (null),
|
||||||
FIELD_3 (null), /** */
|
FIELD_3 (null),
|
||||||
FIELD_4 (null), /** */
|
FIELD_4 (null),
|
||||||
FIELD_5 (null), /** */
|
FIELD_5 (null),
|
||||||
FIELD_6 (null), /** */
|
FIELD_6 (null),
|
||||||
FIELD_7 (null), /** */
|
FIELD_7 (null),
|
||||||
|
|
||||||
// Non-user hands (AI or teammate), use setDoc to register.
|
// Non-user hands (AI or teammate), use setDoc to register.
|
||||||
HAND_0 (null), /** */
|
HAND_0 (null),
|
||||||
HAND_1 (null), /** */
|
HAND_1 (null),
|
||||||
HAND_2 (null), /** */
|
HAND_2 (null),
|
||||||
HAND_3 (null), /** */
|
HAND_3 (null),
|
||||||
HAND_4 (null), /** */
|
HAND_4 (null),
|
||||||
HAND_5 (null), /** */
|
HAND_5 (null),
|
||||||
HAND_6 (null), /** */
|
HAND_6 (null),
|
||||||
HAND_7 (null), /** */
|
HAND_7 (null),
|
||||||
|
|
||||||
COMMAND_0 (null), /** */
|
COMMAND_0 (null),
|
||||||
COMMAND_1 (null), /** */
|
COMMAND_1 (null),
|
||||||
COMMAND_2 (null), /** */
|
COMMAND_2 (null),
|
||||||
COMMAND_3 (null), /** */
|
COMMAND_3 (null),
|
||||||
COMMAND_4 (null), /** */
|
COMMAND_4 (null),
|
||||||
COMMAND_5 (null), /** */
|
COMMAND_5 (null),
|
||||||
COMMAND_6 (null), /** */
|
COMMAND_6 (null),
|
||||||
COMMAND_7 (null); /** */
|
COMMAND_7 (null);
|
||||||
|
|
||||||
public final static EDocID[] Commands = new EDocID[] {COMMAND_0, COMMAND_1, COMMAND_2, COMMAND_3, COMMAND_4, COMMAND_5, COMMAND_6, COMMAND_7};
|
public final static EDocID[] Commands = new EDocID[] {COMMAND_0, COMMAND_1, COMMAND_2, COMMAND_3, COMMAND_4, COMMAND_5, COMMAND_6, COMMAND_7};
|
||||||
public final static EDocID[] Fields = new EDocID[] {FIELD_0, FIELD_1, FIELD_2, FIELD_3, FIELD_4, FIELD_5, FIELD_6, FIELD_7};
|
public final static EDocID[] Fields = new EDocID[] {FIELD_0, FIELD_1, FIELD_2, FIELD_3, FIELD_4, FIELD_5, FIELD_6, FIELD_7};
|
||||||
|
|||||||
@@ -7,10 +7,11 @@ package forge.screens.home;
|
|||||||
*
|
*
|
||||||
* <br><br><i>(E at beginning of class name denotes an enum.)</i>
|
* <br><br><i>(E at beginning of class name denotes an enum.)</i>
|
||||||
*/
|
*/
|
||||||
public enum EMenuGroup { /** */
|
public enum EMenuGroup {
|
||||||
SANCTIONED ("Sanctioned Formats"), /** */
|
SANCTIONED ("Sanctioned Formats"),
|
||||||
QUEST ("Quest Mode"), /** */
|
ONLINE ("Online Multiplayer"),
|
||||||
GAUNTLET ("Gauntlets"), /** */
|
QUEST ("Quest Mode"),
|
||||||
|
GAUNTLET ("Gauntlets"),
|
||||||
SETTINGS ("Game Settings");
|
SETTINGS ("Game Settings");
|
||||||
|
|
||||||
private final String strTitle;
|
private final String strTitle;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import forge.screens.home.gauntlet.VSubmenuGauntletBuild;
|
|||||||
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
import forge.screens.home.gauntlet.VSubmenuGauntletContests;
|
||||||
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
import forge.screens.home.gauntlet.VSubmenuGauntletLoad;
|
||||||
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
import forge.screens.home.gauntlet.VSubmenuGauntletQuick;
|
||||||
|
import forge.screens.home.online.VSubmenuOnlineLobby;
|
||||||
import forge.screens.home.quest.*;
|
import forge.screens.home.quest.*;
|
||||||
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
import forge.screens.home.sanctioned.VSubmenuConstructed;
|
||||||
import forge.screens.home.sanctioned.VSubmenuDraft;
|
import forge.screens.home.sanctioned.VSubmenuDraft;
|
||||||
@@ -118,6 +119,8 @@ public enum VHomeUI implements IVTopLevelUI {
|
|||||||
allSubmenus.add(VSubmenuSealed.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuSealed.SINGLETON_INSTANCE);
|
||||||
//allSubmenus.add(VSubmenuWinston.SINGLETON_INSTANCE);
|
//allSubmenus.add(VSubmenuWinston.SINGLETON_INSTANCE);
|
||||||
|
|
||||||
|
allSubmenus.add(VSubmenuOnlineLobby.SINGLETON_INSTANCE);
|
||||||
|
|
||||||
allSubmenus.add(VSubmenuDuels.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuDuels.SINGLETON_INSTANCE);
|
||||||
allSubmenus.add(VSubmenuChallenges.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuChallenges.SINGLETON_INSTANCE);
|
||||||
allSubmenus.add(VSubmenuQuestDraft.SINGLETON_INSTANCE);
|
allSubmenus.add(VSubmenuQuestDraft.SINGLETON_INSTANCE);
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package forge.screens.home.online;
|
||||||
|
|
||||||
|
import forge.UiCommand;
|
||||||
|
import forge.gui.framework.ICDoc;
|
||||||
|
import forge.menus.IMenuProvider;
|
||||||
|
import forge.menus.MenuUtil;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
public enum CSubmenuOnlineLobby implements ICDoc, IMenuProvider {
|
||||||
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
private final VSubmenuOnlineLobby view = VSubmenuOnlineLobby.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
MenuUtil.setMenuProvider(this);
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UiCommand getCommandOnSelect() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<JMenu> getMenus() {
|
||||||
|
List<JMenu> menus = new ArrayList<JMenu>();
|
||||||
|
return menus;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
package forge.screens.home.online;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
|
import forge.gui.framework.DragCell;
|
||||||
|
import forge.gui.framework.DragTab;
|
||||||
|
import forge.gui.framework.EDocID;
|
||||||
|
import forge.screens.home.EMenuGroup;
|
||||||
|
import forge.screens.home.IVSubmenu;
|
||||||
|
import forge.screens.home.LblHeader;
|
||||||
|
import forge.screens.home.StartButton;
|
||||||
|
import forge.screens.home.VHomeUI;
|
||||||
|
import forge.toolbox.FSkin;
|
||||||
|
|
||||||
|
|
||||||
|
public enum VSubmenuOnlineLobby implements IVSubmenu<CSubmenuOnlineLobby> {
|
||||||
|
SINGLETON_INSTANCE;
|
||||||
|
|
||||||
|
private DragCell parentCell;
|
||||||
|
private final DragTab tab = new DragTab("Lobby");
|
||||||
|
|
||||||
|
// General variables
|
||||||
|
private final LblHeader lblTitle = new LblHeader("Online Multiplayer: Lobby");
|
||||||
|
|
||||||
|
private final StartButton btnStart = new StartButton();
|
||||||
|
private final JPanel pnlStart = new JPanel(new MigLayout("insets 0, gap 0, wrap 2"));
|
||||||
|
private final JPanel constructedFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); // Main content frame
|
||||||
|
|
||||||
|
private VSubmenuOnlineLobby() {
|
||||||
|
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
|
||||||
|
constructedFrame.setOpaque(false);
|
||||||
|
pnlStart.setOpaque(false);
|
||||||
|
pnlStart.add(btnStart, "align center");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void populate() {
|
||||||
|
JPanel container = VHomeUI.SINGLETON_INSTANCE.getPnlDisplay();
|
||||||
|
|
||||||
|
container.removeAll();
|
||||||
|
container.setLayout(new MigLayout("insets 0, gap 0, wrap 1, ax right"));
|
||||||
|
container.add(lblTitle, "w 80%, h 40px!, gap 0 0 15px 15px, span 2, al right, pushx");
|
||||||
|
|
||||||
|
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().add(constructedFrame, "gap 20px 20px 20px 0px, push, grow");
|
||||||
|
VHomeUI.SINGLETON_INSTANCE.getPnlDisplay().add(pnlStart, "gap 0 0 3.5%! 3.5%!, ax center");
|
||||||
|
|
||||||
|
if (container.isShowing()) {
|
||||||
|
container.validate();
|
||||||
|
container.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public JButton getBtnStart() {
|
||||||
|
return btnStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EMenuGroup getGroupEnum() {
|
||||||
|
return EMenuGroup.ONLINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMenuTitle() {
|
||||||
|
return "Lobby";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EDocID getItemEnum() {
|
||||||
|
return EDocID.HOME_LOBBY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EDocID getDocumentID() {
|
||||||
|
return EDocID.HOME_LOBBY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DragTab getTabLabel() {
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CSubmenuOnlineLobby getLayoutControl() {
|
||||||
|
return CSubmenuOnlineLobby.SINGLETON_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setParentCell(DragCell cell0) {
|
||||||
|
parentCell = cell0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DragCell getParentCell() {
|
||||||
|
return parentCell;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -88,8 +88,8 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
|
|
||||||
SUBMENU_CURRENTMENU ("CONSTRUCTED"),
|
SUBMENU_CURRENTMENU ("CONSTRUCTED"),
|
||||||
SUBMENU_SANCTIONED ("true"),
|
SUBMENU_SANCTIONED ("true"),
|
||||||
|
SUBMENU_ONLINE ("false"),
|
||||||
SUBMENU_GAUNTLET ("false"),
|
SUBMENU_GAUNTLET ("false"),
|
||||||
SUBMENU_VARIANT ("false"),
|
|
||||||
SUBMENU_QUEST ("false"),
|
SUBMENU_QUEST ("false"),
|
||||||
SUBMENU_SETTINGS ("false"),
|
SUBMENU_SETTINGS ("false"),
|
||||||
SUBMENU_UTILITIES ("false"),
|
SUBMENU_UTILITIES ("false"),
|
||||||
|
|||||||
Reference in New Issue
Block a user