Skip to content

Commit

Permalink
Restore PlayerExtraOptionsPanel to be XNAPanel and expose to INItiali…
Browse files Browse the repository at this point in the history
…zableWindow
  • Loading branch information
Starkku committed Sep 8, 2023
1 parent 98ebc28 commit 90ff7e4
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
8 changes: 8 additions & 0 deletions DXMainClient/DXGUI/Multiplayer/GameLobby/GameLobbyBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -897,9 +897,17 @@ protected void InitPlayerOptionDropdowns()
ReadINIForControl(lblTeam);

btnPlayerExtraOptionsOpen = FindChild<XNAClientButton>(nameof(btnPlayerExtraOptionsOpen), true);

if (btnPlayerExtraOptionsOpen != null)
{
PlayerExtraOptionsPanel = FindChild<PlayerExtraOptionsPanel>(nameof(PlayerExtraOptionsPanel));
ReadINIForControl(PlayerExtraOptionsPanel);

foreach (var child in PlayerExtraOptionsPanel.Children)
{
ReadINIForControl(child);
}

PlayerExtraOptionsPanel.Disable();
PlayerExtraOptionsPanel.OptionsChanged += PlayerExtraOptions_OptionsChanged;
btnPlayerExtraOptionsOpen.LeftClick += BtnPlayerExtraOptions_LeftClick;
Expand Down
24 changes: 12 additions & 12 deletions DXMainClient/DXGUI/Multiplayer/PlayerExtraOptionsPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace DTAClient.DXGUI.Multiplayer
{
public class PlayerExtraOptionsPanel : XNAWindow
public class PlayerExtraOptionsPanel : XNAPanel
{
private const int maxStartCount = 8;
private const int defaultX = 24;
Expand Down Expand Up @@ -162,42 +162,42 @@ public override void Initialize()
Visible = false;

var btnClose = new XNAClientButton(WindowManager);
btnClose.Name = nameof(btnClose);
btnClose.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(btnClose);
btnClose.ClientRectangle = new Rectangle(0, 0, 0, 0);
btnClose.IdleTexture = AssetLoader.LoadTexture("optionsButtonClose.png");
btnClose.HoverTexture = AssetLoader.LoadTexture("optionsButtonClose_c.png");
btnClose.LeftClick += (sender, args) => Disable();
AddChild(btnClose);

var lblHeader = new XNALabel(WindowManager);
lblHeader.Name = nameof(lblHeader);
lblHeader.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(lblHeader);
lblHeader.Text = "Extra Player Options".L10N("Client:Main:ExtraPlayerOptions");
lblHeader.ClientRectangle = new Rectangle(defaultX, 4, 0, 18);
AddChild(lblHeader);

chkBoxForceRandomSides = new XNAClientCheckBox(WindowManager);
chkBoxForceRandomSides.Name = nameof(chkBoxForceRandomSides);
chkBoxForceRandomSides.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(chkBoxForceRandomSides);
chkBoxForceRandomSides.Text = "Force Random Sides".L10N("Client:Main:ForceRandomSides");
chkBoxForceRandomSides.ClientRectangle = new Rectangle(defaultX, lblHeader.Bottom + 4, 0, 0);
chkBoxForceRandomSides.CheckedChanged += Options_Changed;
AddChild(chkBoxForceRandomSides);

chkBoxForceRandomColors = new XNAClientCheckBox(WindowManager);
chkBoxForceRandomColors.Name = nameof(chkBoxForceRandomColors);
chkBoxForceRandomColors.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(chkBoxForceRandomColors);
chkBoxForceRandomColors.Text = "Force Random Colors".L10N("Client:Main:ForceRandomColors");
chkBoxForceRandomColors.ClientRectangle = new Rectangle(defaultX, chkBoxForceRandomSides.Bottom + 4, 0, 0);
chkBoxForceRandomColors.CheckedChanged += Options_Changed;
AddChild(chkBoxForceRandomColors);

chkBoxForceRandomTeams = new XNAClientCheckBox(WindowManager);
chkBoxForceRandomTeams.Name = nameof(chkBoxForceRandomTeams);
chkBoxForceRandomTeams.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(chkBoxForceRandomTeams);
chkBoxForceRandomTeams.Text = "Force Random Teams".L10N("Client:Main:ForceRandomTeams");
chkBoxForceRandomTeams.ClientRectangle = new Rectangle(defaultX, chkBoxForceRandomColors.Bottom + 4, 0, 0);
chkBoxForceRandomTeams.CheckedChanged += Options_Changed;
AddChild(chkBoxForceRandomTeams);

chkBoxForceRandomStarts = new XNAClientCheckBox(WindowManager);
chkBoxForceRandomStarts.Name = nameof(chkBoxForceRandomStarts);
chkBoxForceRandomStarts.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(chkBoxForceRandomStarts);
chkBoxForceRandomStarts.Text = "Force Random Starts".L10N("Client:Main:ForceRandomStarts");
chkBoxForceRandomStarts.ClientRectangle = new Rectangle(defaultX, chkBoxForceRandomTeams.Bottom + 4, 0, 0);
chkBoxForceRandomStarts.CheckedChanged += Options_Changed;
Expand All @@ -206,35 +206,35 @@ public override void Initialize()
/////////////////////////////

chkBoxUseTeamStartMappings = new XNAClientCheckBox(WindowManager);
chkBoxUseTeamStartMappings.Name = nameof(chkBoxUseTeamStartMappings);
chkBoxUseTeamStartMappings.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(chkBoxUseTeamStartMappings);
chkBoxUseTeamStartMappings.Text = "Enable Auto Allying:".L10N("Client:Main:EnableAutoAllying");
chkBoxUseTeamStartMappings.ClientRectangle = new Rectangle(chkBoxForceRandomSides.X, chkBoxForceRandomStarts.Bottom + 20, 0, 0);
chkBoxUseTeamStartMappings.CheckedChanged += ChkBoxUseTeamStartMappings_Changed;
AddChild(chkBoxUseTeamStartMappings);

var btnHelp = new XNAClientButton(WindowManager);
btnHelp.Name = nameof(btnHelp);
btnHelp.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(btnHelp);
btnHelp.IdleTexture = AssetLoader.LoadTexture("questionMark.png");
btnHelp.HoverTexture = AssetLoader.LoadTexture("questionMark_c.png");
btnHelp.LeftClick += BtnHelp_LeftClick;
btnHelp.ClientRectangle = new Rectangle(chkBoxUseTeamStartMappings.Right + 4, chkBoxUseTeamStartMappings.Y - 1, 0, 0);
AddChild(btnHelp);

var lblPreset = new XNALabel(WindowManager);
lblPreset.Name = nameof(lblPreset);
lblPreset.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(lblPreset);
lblPreset.Text = "Presets:".L10N("Client:Main:Presets");
lblPreset.ClientRectangle = new Rectangle(chkBoxUseTeamStartMappings.X, chkBoxUseTeamStartMappings.Bottom + 8, 0, 0);
AddChild(lblPreset);

ddTeamStartMappingPreset = new XNAClientDropDown(WindowManager);
ddTeamStartMappingPreset.Name = nameof(ddTeamStartMappingPreset);
ddTeamStartMappingPreset.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(ddTeamStartMappingPreset);
ddTeamStartMappingPreset.ClientRectangle = new Rectangle(lblPreset.X + 50, lblPreset.Y - 2, 160, 0);
ddTeamStartMappingPreset.SelectedIndexChanged += DdTeamMappingPreset_SelectedIndexChanged;
ddTeamStartMappingPreset.AllowDropDown = true;
AddChild(ddTeamStartMappingPreset);

teamStartMappingsPanel = new TeamStartMappingsPanel(WindowManager);
teamStartMappingsPanel.Name = nameof(teamStartMappingsPanel);
teamStartMappingsPanel.Name = nameof(PlayerExtraOptionsPanel) + "_" + nameof(teamStartMappingsPanel);
teamStartMappingsPanel.ClientRectangle = new Rectangle(lblPreset.X, ddTeamStartMappingPreset.Bottom + 8, Width, Height - ddTeamStartMappingPreset.Bottom + 4);
AddChild(teamStartMappingsPanel);

Expand Down

0 comments on commit 90ff7e4

Please sign in to comment.