in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/Anywhere/SConnectAnywhereFleetMenu.cpp [220:322]
TSharedRef<SWidget> SConnectAnywhereFleetMenu::CreateAddNewFleetUI()
{
TSharedRef<SVerticalBox> VerticalBox = SNew(SVerticalBox)
// Anywhere fleet name text input
+ SVerticalBox::Slot()
.AutoHeight()
.HAlign(HAlign_Fill)
.Padding(SPadding::Top + SPadding::Right2x)
[
SNew(SNamedRow)
.NameText(Menu::DeployAnywhere::kNewFleetNameTitle)
.RowWidget(
SAssignNew(FleetNameTextInput, SEditableTextBox)
.Text(GetDefaultFleetName())
.HintText(Menu::DeployAnywhere::kNewFleetNameTextBoxHint)
)
]
+ SVerticalBox::Slot()
.AutoHeight()
.HAlign(HAlign_Fill)
.Padding(SPadding::Bottom + SPadding::Right2x)
[
SNew(SNamedRow)
.SecondaryColumnLeftPadding(true)
.RowWidget(
SNew(STextBlock)
.Text(Menu::DeployAnywhere::kFleetNameInstructionText)
.AutoWrapText(true)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kNote)
)
]
+ SVerticalBox::Slot()
.AutoHeight()
.VAlign(VAlign_Center)
.Padding(SPadding::Top + SPadding::Right2x)
[
SAssignNew(DeployFleetErrorRow, SNamedRow)
.SecondaryColumnLeftPadding(true)
.RowWidget(
SAssignNew(DeployFleetErrorTextBlock, STextBlock)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kNote)
.AutoWrapText(true)
)
.Visibility(EVisibility::Collapsed)
]
+ SVerticalBox::Slot()
.AutoHeight()
.VAlign(VAlign_Center)
.Padding(SPadding::Top3x + SPadding::Right2x)
[
SNew(SHorizontalBox)
// Button to cancel adding new anywhere fleet
+ SHorizontalBox::Slot()
.AutoWidth()
.HAlign(HAlign_Left)
.Padding(SPadding::Right2x)
[
SAssignNew(CancelButton, SButton)
.Text(Menu::DeployAnywhere::kCancelButtonText)
.OnClicked_Raw(this, &SConnectAnywhereFleetMenu::OnCancelFleetButtonClicked)
.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kNormalButtonStyleName)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
]
// Button to add a new anywhere fleet
+ SHorizontalBox::Slot()
.AutoWidth()
.HAlign(HAlign_Left)
.Padding(SPadding::Right2x)
[
SNew(SButton)
.Text(Menu::DeployAnywhere::kCreateFleetButtonText)
.OnClicked_Raw(this, &SConnectAnywhereFleetMenu::OnCreateFleetButtonClicked)
.IsEnabled_Raw(this, &SConnectAnywhereFleetMenu::CanCreateFleet)
.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kSuccessButtonStyleName)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonLight)
]
// Loading indicator during fleet creation
+ SHorizontalBox::Slot()
.AutoWidth()
.HAlign(HAlign_Left)
.VAlign(VAlign_Center)
[
SNew(STextStatus)
.IconState(STextStatus::EIconState::Loading)
.Visibility_Lambda([&]
{
return IsLoading ? EVisibility::Visible : EVisibility::Hidden;
})
]
// Hyperlink to see/manage available fleets in console
+ SHorizontalBox::Slot()
.FillWidth(1)
.HAlign(HAlign_Right)
.Padding(SPadding::Right) // move the link left a bit
[
CreateFleetsInConsoleHyperLink()
]
];
DeployFleetErrorTextBlock->SetColorAndOpacity(FGameLiftPluginStyle::Get().GetColor(Style::Color::kError));
return VerticalBox;
}