New create server layout

This commit is contained in:
Paul Chote
2011-05-08 13:04:04 +12:00
parent 99eb6ab774
commit 09526ee2dd
2 changed files with 95 additions and 57 deletions

View File

@@ -19,6 +19,7 @@ namespace OpenRA.Mods.Cnc.Widgets
{ {
Widget panel; Widget panel;
Action onCreate; Action onCreate;
Map map;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public CncServerCreationLogic([ObjectCreator.Param] Widget widget, public CncServerCreationLogic([ObjectCreator.Param] Widget widget,
[ObjectCreator.Param] Action onExit, [ObjectCreator.Param] Action onExit,
@@ -31,9 +32,13 @@ namespace OpenRA.Mods.Cnc.Widgets
panel.GetWidget<CncMenuButtonWidget>("BACK_BUTTON").OnClick = onExit; panel.GetWidget<CncMenuButtonWidget>("BACK_BUTTON").OnClick = onExit;
panel.GetWidget<CncMenuButtonWidget>("CREATE_BUTTON").OnClick = CreateAndJoin; panel.GetWidget<CncMenuButtonWidget>("CREATE_BUTTON").OnClick = CreateAndJoin;
panel.GetWidget<CncMenuButtonWidget>("MAP_BUTTON").IsDisabled = () => true; //panel.GetWidget<CncMenuButtonWidget>("MAP_BUTTON").IsDisabled = () => true;
panel.GetWidget<TextFieldWidget>("GAME_TITLE").Text = settings.Server.Name ?? ""; map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Value;
panel.GetWidget<MapPreviewWidget>("MAP_PREVIEW").Map = () => map;
panel.GetWidget<TextFieldWidget>("SERVER_NAME").Text = settings.Server.Name ?? "";
panel.GetWidget<TextFieldWidget>("LISTEN_PORT").Text = settings.Server.ListenPort.ToString(); panel.GetWidget<TextFieldWidget>("LISTEN_PORT").Text = settings.Server.ListenPort.ToString();
panel.GetWidget<TextFieldWidget>("EXTERNAL_PORT").Text = settings.Server.ExternalPort.ToString(); panel.GetWidget<TextFieldWidget>("EXTERNAL_PORT").Text = settings.Server.ExternalPort.ToString();
panel.GetWidget<CheckboxWidget>("CHECKBOX_ONLINE").Bind(settings.Server, "AdvertiseOnline"); panel.GetWidget<CheckboxWidget>("CHECKBOX_ONLINE").Bind(settings.Server, "AdvertiseOnline");

View File

@@ -2,94 +2,127 @@ Container@CREATESERVER_PANEL:
Id:CREATESERVER_PANEL Id:CREATESERVER_PANEL
Delegate:CncServerCreationLogic Delegate:CncServerCreationLogic
X:(WINDOW_RIGHT - WIDTH)/2 X:(WINDOW_RIGHT - WIDTH)/2
Y:(WINDOW_BOTTOM - 500)/2 Y:(WINDOW_BOTTOM - 224)/2
Width:740 Width:604
Height:535 Height:254
Children: Children:
Label@TITLE: Label@TITLE:
Text:Create Server Text:Create Server
Width:740 Width:604
Y:0-25 Y:0-25
Font:BigBold Font:BigBold
Contrast:true Contrast:true
Align:Center Align:Center
Background@bg: Background@bg:
Width:740 Width:604
Height:500 Height:224
Background:panel-black Background:panel-black
Children: Children:
Label@GAME_TITLE_LABEL: Background@MAP_BG:
Id:GAME_TITLE_LABEL X:PARENT_RIGHT-WIDTH-15
X:50 Y:15
Y:59 Width:194
Width:95 Height:194
Background:panel-gray
Children:
MapPreview@MAP_PREVIEW:
Id:MAP_PREVIEW
X:1
Y:1
Width:192
Height:192
Label@SERVER_NAME_LABEL:
X:15
Y:14
Width:90
Height:25 Height:25
Align:Right Align:Right
Text:Game Title: Text:Server Name:
TextField@GAME_TITLE: TextField@SERVER_NAME:
Id:GAME_TITLE Id:SERVER_NAME
X:150 X:110
Y:60 Y:15
Width:210 Width:275
MaxLength:50 MaxLength:50
Height:25 Height:25
Text:OpenRA Game Text:My OpenRA Server
Label@SERVER_DESC_LABEL:
X:15
Y:49
Width:90
Height:25
Align:Right
Text:Description:
TextField@SERVER_DESC:
Id:SERVER_DESC
X:110
Y:50
Width:275
MaxLength:50
Height:25
Text:Describe your server here
Label@LISTEN_PORT_LABEL:
X:15
Y:84
Width:90
Height:25
Align: Right
Text:Port:
TextField@LISTEN_PORT:
Id:LISTEN_PORT
X:110
Y:85
Width:50
MaxLength:5
Height:25
Text:1234
Checkbox@CHECKBOX_ONLINE:
Id:CHECKBOX_ONLINE
X:110
Y:120
Width:275
Height:20
Text:Advertise Online*
Label@PORT_FORWARDING:
X:140
Y:145
Width:220
WordWrap:true
Font:Tiny
Text:*You must forward an external port from your router to your computer before other players will be able to join your server.
Label@EXTERNAL_PORT_LABEL: Label@EXTERNAL_PORT_LABEL:
Id:EXTERNAL_PORT_LABEL X:15
X:50 Y:183
Y:94 Width:90
Width:95
Height:25 Height:25
Align:Right Align:Right
Text:External Port: Text:External Port:
TextField@EXTERNAL_PORT: TextField@EXTERNAL_PORT:
Id:EXTERNAL_PORT Id:EXTERNAL_PORT
X:150 X:110
Y:95 Y:184
Width:50 Width:50
MaxLength:5 MaxLength:5
Height:25 Height:25
Text:OpenRA Game Text:1234
Label@LISTEN_PORT_LABEL:
Id:LISTEN_PORT_LABEL
X:210
Y:94
Width:95
Height:25
Align: Right
Text:Listen Port:
TextField@LISTEN_PORT:
Id:LISTEN_PORT
X:310
Y:95
Width:50
MaxLength:5
Height:25
Checkbox@CHECKBOX_ONLINE:
Id:CHECKBOX_ONLINE
X:165
Y:130
Width:300
Height:20
Text:Advertise game Online
CncMenuButton@BACK_BUTTON: CncMenuButton@BACK_BUTTON:
Id:BACK_BUTTON Id:BACK_BUTTON
X:0 X:0
Y:499 Y:223
Width:140 Width:140
Height:35 Height:35
Text:Back Text:Back
CncMenuButton@MAP_BUTTON: CncMenuButton@MAP_BUTTON:
Id:MAP_BUTTON Id:MAP_BUTTON
X:450 X:314
Y:499 Y:223
Width:140 Width:140
Height:35 Height:35
Text:Change Map Text:Change Map
CncMenuButton@CREATE_BUTTON: CncMenuButton@CREATE_BUTTON:
Id:CREATE_BUTTON Id:CREATE_BUTTON
X:600 X:464
Y:499 Y:223
Width:140 Width:140
Height:35 Height:35
Text:Create Text:Create