Unify and tweak layout of MP browser window.

This commit is contained in:
Paul Chote
2017-12-22 14:45:52 +00:00
committed by abcdefg30
parent 959804b167
commit 0b446167b6
9 changed files with 434 additions and 460 deletions

View File

@@ -81,15 +81,129 @@ namespace OpenRA.Mods.Common.Widgets.Logic
gameStartedColor = ChromeMetrics.Get<Color>("GameStartedColor");
incompatibleGameStartedColor = ChromeMetrics.Get<Color>("IncompatibleGameStartedColor");
LoadBrowserPanel(widget);
serverList = widget.Get<ScrollPanelWidget>("SERVER_LIST");
headerTemplate = serverList.Get<ScrollItemWidget>("HEADER_TEMPLATE");
serverTemplate = serverList.Get<ScrollItemWidget>("SERVER_TEMPLATE");
// Filter and refresh buttons act on the browser panel,
// but remain visible (disabled) on the other panels
var refreshButton = widget.Get<ButtonWidget>("REFRESH_BUTTON");
refreshButton.IsDisabled = () => searchStatus == SearchStatus.Fetching;
var join = widget.Get<ButtonWidget>("JOIN_BUTTON");
join.IsVisible = () => currentServer != null;
join.IsDisabled = () => !currentServer.IsJoinable;
join.OnClick = () => Join(currentServer);
var filtersButton = widget.Get<DropDownButtonWidget>("FILTERS_DROPDOWNBUTTON");
// Display the progress label over the server list
// The text is only visible when the list is empty
var progressText = widget.Get<LabelWidget>("PROGRESS_LABEL");
progressText.IsVisible = () => searchStatus != SearchStatus.Hidden;
progressText.GetText = ProgressLabelText;
var gs = Game.Settings.Game;
Action<MPGameFilters> toggleFilterFlag = f =>
{
gs.MPGameFilters ^= f;
Game.Settings.Save();
RefreshServerList();
};
var filtersPanel = Ui.LoadWidget("MULTIPLAYER_FILTER_PANEL", null, new WidgetArgs());
var showWaitingCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("WAITING_FOR_PLAYERS");
if (showWaitingCheckbox != null)
{
showWaitingCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Waiting);
showWaitingCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Waiting);
}
var showEmptyCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("EMPTY");
if (showEmptyCheckbox != null)
{
showEmptyCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Empty);
showEmptyCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Empty);
}
var showAlreadyStartedCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("ALREADY_STARTED");
if (showAlreadyStartedCheckbox != null)
{
showAlreadyStartedCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Started);
showAlreadyStartedCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Started);
}
var showProtectedCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("PASSWORD_PROTECTED");
if (showProtectedCheckbox != null)
{
showProtectedCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Protected);
showProtectedCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Protected);
}
var showIncompatibleCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("INCOMPATIBLE_VERSION");
if (showIncompatibleCheckbox != null)
{
showIncompatibleCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Incompatible);
showIncompatibleCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Incompatible);
}
var filtersButton = widget.GetOrNull<DropDownButtonWidget>("FILTERS_DROPDOWNBUTTON");
if (filtersButton != null)
{
filtersButton.IsDisabled = () => searchStatus == SearchStatus.Fetching;
filtersButton.OnMouseDown = _ =>
{
filtersButton.RemovePanel();
filtersButton.AttachPanel(filtersPanel);
};
}
var refreshButton = widget.GetOrNull<ButtonWidget>("REFRESH_BUTTON");
if (refreshButton != null)
{
refreshButton.GetText = () => searchStatus == SearchStatus.Fetching ? "Refreshing..." : "Refresh";
refreshButton.IsDisabled = () => searchStatus == SearchStatus.Fetching;
refreshButton.OnClick = RefreshServerList;
}
var mapPreview = widget.GetOrNull<MapPreviewWidget>("SELECTED_MAP_PREVIEW");
if (mapPreview != null)
mapPreview.Preview = () => currentMap;
var mapTitle = widget.GetOrNull<LabelWidget>("SELECTED_MAP");
if (mapTitle != null)
{
var font = Game.Renderer.Fonts[mapTitle.Font];
var title = new CachedTransform<MapPreview, string>(m => m == null ? "No Server Selected" :
WidgetUtils.TruncateText(m.Title, mapTitle.Bounds.Width, font));
mapTitle.GetText = () => title.Update(currentMap);
}
var ip = widget.GetOrNull<LabelWidget>("SELECTED_IP");
if (ip != null)
{
ip.IsVisible = () => currentServer != null;
ip.GetText = () => currentServer.Address;
}
var status = widget.GetOrNull<LabelWidget>("SELECTED_STATUS");
if (status != null)
{
status.IsVisible = () => currentServer != null;
status.GetText = () => GetStateLabel(currentServer);
status.GetColor = () => GetStateColor(currentServer, status);
}
var modVersion = widget.GetOrNull<LabelWidget>("SELECTED_MOD_VERSION");
if (modVersion != null)
{
modVersion.IsVisible = () => currentServer != null;
modVersion.GetColor = () => currentServer.IsCompatible ? modVersion.TextColor : incompatibleVersionColor;
var font = Game.Renderer.Fonts[modVersion.Font];
var version = new CachedTransform<GameServer, string>(s => WidgetUtils.TruncateText(s.ModLabel, mapTitle.Bounds.Width, font));
modVersion.GetText = () => version.Update(currentServer);
}
var players = widget.GetOrNull<LabelWidget>("SELECTED_PLAYERS");
if (players != null)
{
players.IsVisible = () => currentServer != null;
players.GetText = () => PlayersLabel(currentServer);
}
var directConnectButton = widget.Get<ButtonWidget>("DIRECTCONNECT_BUTTON");
directConnectButton.OnClick = () =>
@@ -149,129 +263,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}
}
void LoadBrowserPanel(Widget widget)
{
var browserPanel = Game.LoadWidget(null, "MULTIPLAYER_BROWSER_PANEL", widget.Get("TOP_PANELS_ROOT"), new WidgetArgs());
serverList = browserPanel.Get<ScrollPanelWidget>("SERVER_LIST");
headerTemplate = serverList.Get<ScrollItemWidget>("HEADER_TEMPLATE");
serverTemplate = serverList.Get<ScrollItemWidget>("SERVER_TEMPLATE");
var join = widget.Get<ButtonWidget>("JOIN_BUTTON");
join.IsDisabled = () => currentServer == null || !currentServer.IsJoinable;
join.OnClick = () => Join(currentServer);
// Display the progress label over the server list
// The text is only visible when the list is empty
var progressText = widget.Get<LabelWidget>("PROGRESS_LABEL");
progressText.IsVisible = () => searchStatus != SearchStatus.Hidden;
progressText.GetText = ProgressLabelText;
var gs = Game.Settings.Game;
Action<MPGameFilters> toggleFilterFlag = f =>
{
gs.MPGameFilters ^= f;
Game.Settings.Save();
RefreshServerList();
};
var filtersPanel = Ui.LoadWidget("MULTIPLAYER_FILTER_PANEL", null, new WidgetArgs());
var showWaitingCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("WAITING_FOR_PLAYERS");
if (showWaitingCheckbox != null)
{
showWaitingCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Waiting);
showWaitingCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Waiting);
}
var showEmptyCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("EMPTY");
if (showEmptyCheckbox != null)
{
showEmptyCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Empty);
showEmptyCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Empty);
}
var showAlreadyStartedCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("ALREADY_STARTED");
if (showAlreadyStartedCheckbox != null)
{
showAlreadyStartedCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Started);
showAlreadyStartedCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Started);
}
var showProtectedCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("PASSWORD_PROTECTED");
if (showProtectedCheckbox != null)
{
showProtectedCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Protected);
showProtectedCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Protected);
}
var showIncompatibleCheckbox = filtersPanel.GetOrNull<CheckboxWidget>("INCOMPATIBLE_VERSION");
if (showIncompatibleCheckbox != null)
{
showIncompatibleCheckbox.IsChecked = () => gs.MPGameFilters.HasFlag(MPGameFilters.Incompatible);
showIncompatibleCheckbox.OnClick = () => toggleFilterFlag(MPGameFilters.Incompatible);
}
var filtersButton = widget.GetOrNull<DropDownButtonWidget>("FILTERS_DROPDOWNBUTTON");
if (filtersButton != null)
{
filtersButton.OnMouseDown = _ =>
{
filtersButton.RemovePanel();
filtersButton.AttachPanel(filtersPanel);
};
}
var refreshButton = widget.Get<ButtonWidget>("REFRESH_BUTTON");
refreshButton.GetText = () => searchStatus == SearchStatus.Fetching ? "Refreshing..." : "Refresh";
refreshButton.OnClick = RefreshServerList;
var mapPreview = widget.GetOrNull<MapPreviewWidget>("SELECTED_MAP_PREVIEW");
if (mapPreview != null)
mapPreview.Preview = () => currentMap;
var mapTitle = widget.GetOrNull<LabelWidget>("SELECTED_MAP");
if (mapTitle != null)
{
var font = Game.Renderer.Fonts[mapTitle.Font];
var title = new CachedTransform<MapPreview, string>(m => m == null ? "No Server Selected" :
WidgetUtils.TruncateText(m.Title, mapTitle.Bounds.Width, font));
mapTitle.GetText = () => title.Update(currentMap);
}
var ip = widget.GetOrNull<LabelWidget>("SELECTED_IP");
if (ip != null)
{
ip.IsVisible = () => currentServer != null;
ip.GetText = () => currentServer.Address;
}
var status = widget.GetOrNull<LabelWidget>("SELECTED_STATUS");
if (status != null)
{
status.IsVisible = () => currentServer != null;
status.GetText = () => GetStateLabel(currentServer);
status.GetColor = () => GetStateColor(currentServer, status);
}
var modVersion = widget.GetOrNull<LabelWidget>("SELECTED_MOD_VERSION");
if (modVersion != null)
{
modVersion.IsVisible = () => currentServer != null;
modVersion.GetColor = () => currentServer.IsCompatible ? modVersion.TextColor : incompatibleVersionColor;
var font = Game.Renderer.Fonts[modVersion.Font];
var version = new CachedTransform<GameServer, string>(s => WidgetUtils.TruncateText(s.ModLabel, mapTitle.Bounds.Width, font));
modVersion.GetText = () => version.Update(currentServer);
}
var players = widget.GetOrNull<LabelWidget>("SELECTED_PLAYERS");
if (players != null)
{
players.IsVisible = () => currentServer != null;
players.GetText = () => PlayersLabel(currentServer);
}
}
string PlayersLabel(GameServer game)
{
return "{0}{1}{2}".F(

View File

@@ -1,8 +1,24 @@
Container@MULTIPLAYER_BROWSER_PANEL:
Container@MULTIPLAYER_PANEL:
Logic: MultiplayerLogic
X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - 560) / 2
Width: 800
Height: 575
Children:
Label@TITLE:
Text: Multiplayer
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Y: 0 - 25
Font: BigBold
Contrast: true
Align: Center
Background@bg:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM - 35
Background: panel-black
Children:
Container@LABEL_CONTAINER:
X: 15
Y: 5
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
@@ -33,9 +49,10 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Text: Status
Font: Bold
ScrollPanel@SERVER_LIST:
X: 15
Y: 30
Width: 582
Height: 249
Height: PARENT_BOTTOM - 75
TopBottomSpacing: 2
Children:
ScrollItem@HEADER_TEMPLATE:
@@ -78,14 +95,15 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Width: 50
Height: 25
Label@PROGRESS_LABEL:
Y: 30 + (249 - HEIGHT) / 2
X: 15
Y: 30 + (PARENT_BOTTOM - 75 - HEIGHT) / 2
Width: 582
Height: 25
Font: Bold
Align: Center
Visible: false
Container@SELECTED_SERVER:
X: PARENT_RIGHT - WIDTH
X: PARENT_RIGHT - WIDTH - 15
Y: 30
Width: 174
Height: 280
@@ -132,8 +150,84 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Align: Center
Button@JOIN_BUTTON:
Key: return
X: PARENT_RIGHT - WIDTH
Y: 284
Width: 174
Y: 255
Width: PARENT_RIGHT
Height: 25
Text: Join
DropDownButton@FILTERS_DROPDOWNBUTTON:
X: 15
Y: PARENT_BOTTOM - 40
Width: 152
Height: 25
Text: Filter Games
Button@REFRESH_BUTTON:
X: 172
Y: PARENT_BOTTOM - 40
Width: 100
Height: 25
Text: Refresh
Button@DIRECTCONNECT_BUTTON:
X: 387
Y: PARENT_BOTTOM - 40
Width: 100
Height: 25
Text: Direct IP
Button@CREATE_BUTTON:
X: 492
Y: PARENT_BOTTOM - 40
Width: 105
Height: 25
Text: Create
Button@BACK_BUTTON:
Key: escape
X: 0
Y: PARENT_BOTTOM - 36
Width: 140
Height: 35
Text: Back
TooltipContainer@TOOLTIP_CONTAINER:
ScrollPanel@MULTIPLAYER_FILTER_PANEL:
Width: 147
Height: 130
Background: panel-black
Children:
Checkbox@WAITING_FOR_PLAYERS:
X: 5
Y: 5
Width: PARENT_RIGHT - 29
Height: 20
Text: Waiting
TextColor: 32CD32
Font: Regular
Checkbox@EMPTY:
X: 5
Y: 30
Width: PARENT_RIGHT - 29
Height: 20
Text: Empty
Font: Regular
Checkbox@PASSWORD_PROTECTED:
X: 5
Y: 55
Width: PARENT_RIGHT - 29
Height: 20
Text: Protected
TextColor: FF0000
Font: Regular
Checkbox@ALREADY_STARTED:
X: 5
Y: 80
Width: PARENT_RIGHT - 29
Height: 20
Text: Started
TextColor: FFA500
Font: Regular
Checkbox@INCOMPATIBLE_VERSION:
X: 5
Y: 105
Width: PARENT_RIGHT - 29
Height: 20
Text: Incompatible
TextColor: BEBEBE
Font: Regular

View File

@@ -1,100 +0,0 @@
Container@MULTIPLAYER_PANEL:
Logic: MultiplayerLogic
X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - 345) / 2
Width: 800
Height: 360
Children:
Label@TITLE:
Text: Multiplayer
Width: PARENT_RIGHT
Y: 0 - 25
Font: BigBold
Contrast: true
Align: Center
Background@bg:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM - 35
Background: panel-black
Children:
DropDownButton@FILTERS_DROPDOWNBUTTON:
X: 15
Y: 284
Width: 152
Height: 25
Text: Filter Games
Button@REFRESH_BUTTON:
X: 172
Y: 284
Width: 100
Height: 25
Text: Refresh
Button@DIRECTCONNECT_BUTTON:
X: 387
Y: 284
Width: 100
Height: 25
Text: Direct IP
Button@CREATE_BUTTON:
X: 492
Y: 284
Width: 105
Height: 25
Text: Create
Container@TOP_PANELS_ROOT:
X: 15
Width: PARENT_RIGHT - 30
Height: PARENT_BOTTOM
TooltipContainer@TOOLTIP_CONTAINER:
Button@BACK_BUTTON:
Key: escape
X: 0
Y: PARENT_BOTTOM - 36
Width: 140
Height: 35
Text: Back
ScrollPanel@MULTIPLAYER_FILTER_PANEL:
Width: 147
Height: 130
Background: panel-black
Children:
Checkbox@WAITING_FOR_PLAYERS:
X: 5
Y: 5
Width: PARENT_RIGHT - 29
Height: 20
Text: Waiting
TextColor: 32CD32
Font: Regular
Checkbox@EMPTY:
X: 5
Y: 30
Width: PARENT_RIGHT - 29
Height: 20
Text: Empty
Font: Regular
Checkbox@PASSWORD_PROTECTED:
X: 5
Y: 55
Width: PARENT_RIGHT - 29
Height: 20
Text: Protected
TextColor: FF0000
Font: Regular
Checkbox@ALREADY_STARTED:
X: 5
Y: 80
Width: PARENT_RIGHT - 29
Height: 20
Text: Started
TextColor: FFA500
Font: Regular
Checkbox@INCOMPATIBLE_VERSION:
X: 5
Y: 105
Width: PARENT_RIGHT - 29
Height: 20
Text: Incompatible
TextColor: BEBEBE
Font: Regular

View File

@@ -89,7 +89,6 @@ Assemblies:
ChromeLayout:
cnc|chrome/mainmenu.yaml
cnc|chrome/multiplayer.yaml
cnc|chrome/multiplayer-browser.yaml
cnc|chrome/multiplayer-createserver.yaml
cnc|chrome/multiplayer-directconnect.yaml

View File

@@ -1,9 +1,20 @@
Container@MULTIPLAYER_BROWSER_PANEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Background@MULTIPLAYER_PANEL:
Logic: MultiplayerLogic
X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 808
Height: 600
Children:
Label@TITLE:
Y: 15
Width: PARENT_RIGHT
Height: 25
Text: Multiplayer
Align: Center
Font: Bold
Container@LABEL_CONTAINER:
Y: 5
X: 20
Y: 42
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Children:
@@ -33,9 +44,10 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Text: Status
Font: Bold
ScrollPanel@SERVER_LIST:
Y: 30
X: 20
Y: 67
Width: 583
Height: 279
Height: PARENT_BOTTOM - 119
TopBottomSpacing: 2
Children:
ScrollItem@HEADER_TEMPLATE:
@@ -79,15 +91,16 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Width: 50
Height: 25
Label@PROGRESS_LABEL:
Y: 30 + (249 - HEIGHT) / 2
X: 20
Y: 67 + (PARENT_BOTTOM - 119 - HEIGHT) / 2
Width: 582
Height: 25
Font: Bold
Align: Center
Visible: false
Container@SELECTED_SERVER:
X: PARENT_RIGHT - WIDTH
Y: 30
X: PARENT_RIGHT - WIDTH - 20
Y: 67
Width: 174
Height: 280
Children:
@@ -133,9 +146,89 @@ Container@MULTIPLAYER_BROWSER_PANEL:
Align: Center
Button@JOIN_BUTTON:
Key: return
X: PARENT_RIGHT - WIDTH
Y: 284
Width: 174
Y: 255
Width: PARENT_RIGHT
Height: 25
Text: Join
Font: Bold
DropDownButton@FILTERS_DROPDOWNBUTTON:
X: 20
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 158
Height: 25
Text: Filter Games
Font: Bold
Button@REFRESH_BUTTON:
X: 182
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Refresh
Font: Bold
Button@DIRECTCONNECT_BUTTON:
X: 398
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Direct IP
Font: Bold
Button@CREATE_BUTTON:
X: 503
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Create
Font: Bold
Button@BACK_BUTTON:
Key: escape
X: PARENT_RIGHT - WIDTH - 20
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 174
Height: 25
Text: Back
Font: Bold
TooltipContainer@TOOLTIP_CONTAINER:
ScrollPanel@MULTIPLAYER_FILTER_PANEL:
Width: 158
Height: 130
Children:
Checkbox@WAITING_FOR_PLAYERS:
X: 5
Y: 5
Width: PARENT_RIGHT - 29
Height: 20
Text: Waiting
TextColor: 32CD32
Font: Regular
Checkbox@EMPTY:
X: 5
Y: 30
Width: PARENT_RIGHT - 29
Height: 20
Text: Empty
Font: Regular
Checkbox@PASSWORD_PROTECTED:
X: 5
Y: 55
Width: PARENT_RIGHT - 29
Height: 20
Text: Protected
TextColor: FF0000
Font: Regular
Checkbox@ALREADY_STARTED:
X: 5
Y: 80
Width: PARENT_RIGHT - 29
Height: 20
Text: Started
TextColor: FFA500
Font: Regular
Checkbox@INCOMPATIBLE_VERSION:
X: 5
Y: 105
Width: PARENT_RIGHT - 29
Height: 20
Text: Incompatible
TextColor: BEBEBE
Font: Regular

View File

@@ -1,100 +0,0 @@
Background@MULTIPLAYER_PANEL:
Logic: MultiplayerLogic
X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 808
Height: 395
Children:
Label@TITLE:
Y: 15
Width: PARENT_RIGHT
Height: 25
Text: Multiplayer
Align: Center
Font: Bold
DropDownButton@FILTERS_DROPDOWNBUTTON:
X: 20
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 158
Height: 25
Text: Filter Games
Font: Bold
Button@REFRESH_BUTTON:
X: 182
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Refresh
Font: Bold
Button@DIRECTCONNECT_BUTTON:
X: 398
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Direct IP
Font: Bold
Button@CREATE_BUTTON:
X: 503
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 100
Height: 25
Text: Create
Font: Bold
Container@TOP_PANELS_ROOT:
X: 20
Y: 37
Width: PARENT_RIGHT - 40
Height: PARENT_BOTTOM - 87
TooltipContainer@TOOLTIP_CONTAINER:
Button@BACK_BUTTON:
Key: escape
X: PARENT_RIGHT - WIDTH - 20
Y: PARENT_BOTTOM - HEIGHT - 20
Width: 174
Height: 25
Text: Back
Font: Bold
ScrollPanel@MULTIPLAYER_FILTER_PANEL:
Width: 158
Height: 130
Children:
Checkbox@WAITING_FOR_PLAYERS:
X: 5
Y: 5
Width: PARENT_RIGHT - 29
Height: 20
Text: Waiting
TextColor: 32CD32
Font: Regular
Checkbox@EMPTY:
X: 5
Y: 30
Width: PARENT_RIGHT - 29
Height: 20
Text: Empty
Font: Regular
Checkbox@PASSWORD_PROTECTED:
X: 5
Y: 55
Width: PARENT_RIGHT - 29
Height: 20
Text: Protected
TextColor: FF0000
Font: Regular
Checkbox@ALREADY_STARTED:
X: 5
Y: 80
Width: PARENT_RIGHT - 29
Height: 20
Text: Started
TextColor: FFA500
Font: Regular
Checkbox@INCOMPATIBLE_VERSION:
X: 5
Y: 105
Width: PARENT_RIGHT - 29
Height: 20
Text: Incompatible
TextColor: BEBEBE
Font: Regular

View File

@@ -90,7 +90,6 @@ ChromeLayout:
common|chrome/lobby-kickdialogs.yaml
common|chrome/color-picker.yaml
common|chrome/map-chooser.yaml
common|chrome/multiplayer.yaml
common|chrome/multiplayer-browser.yaml
common|chrome/multiplayer-createserver.yaml
common|chrome/multiplayer-directconnect.yaml

View File

@@ -105,7 +105,6 @@ ChromeLayout:
common|chrome/lobby-kickdialogs.yaml
common|chrome/color-picker.yaml
common|chrome/map-chooser.yaml
common|chrome/multiplayer.yaml
common|chrome/multiplayer-browser.yaml
common|chrome/multiplayer-createserver.yaml
common|chrome/multiplayer-directconnect.yaml

View File

@@ -153,7 +153,6 @@ ChromeLayout:
common|chrome/lobby-kickdialogs.yaml
ts|chrome/color-picker.yaml
common|chrome/map-chooser.yaml
common|chrome/multiplayer.yaml
common|chrome/multiplayer-browser.yaml
common|chrome/multiplayer-createserver.yaml
common|chrome/multiplayer-directconnect.yaml