in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/Containers/SUserInputSection.cpp [17:122]
void SUserInputSection::Construct(const FArguments& InArgs)
{
TSharedRef<SVerticalBox> VerticalBox = SNew(SVerticalBox);
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Bottom2x)
[
SNew(SBox)
.Visibility_Lambda([this]()
{
return ShowGameServerPathInput();
})
[
CreateGameServerPathInput()
]
];
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Bottom2x)
[
CreateOutConfigFilePathInput()
];
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Bottom2x)
[
SNew(SBox)
.Visibility_Lambda([this]()
{
return ShowExistingECRRepoDropdown();
})
[
CreateExistingECRRepoDropdown()
]
];
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Bottom2x)
[
SNew(SBox)
.Visibility_Lambda([this]()
{
return ShowExistingECRImageDropdown();
})
[
CreateExistingECRImageDropdown()
]
];
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Bottom2x)
[
SNew(SBox)
.Visibility_Lambda([this]()
{
return ShowDockerRepoInput();
})
[
CreateDockerRepoInput()
]
];
// Deployment Scenario Choice
VerticalBox->AddSlot()
.AutoHeight()
[
CreateDeploymentScenarioChoice()
];
// Default Settings
TSharedPtr<SSectionsWithHeaders> SectionsWithHeaders = SNew(SSectionsWithHeaders).ShowDefaultColor(true);
SectionsWithHeaders->AddSection(Menu::DeployContainers::kDefaultSettingsHeader, CreateDefaultSettings(), true);
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Top + SPadding::SectionWithHeaderLeftPadding)
[
SectionsWithHeaders.ToSharedRef()
];
ChildSlot
.Padding(SPadding::Top_Bottom)
[
VerticalBox
];
if (CanLoadECRRepoDropDown()) {
LoadRepoInfoAsync();
}
if (CanLoadECRImageDropDown()) {
LoadImageInfoAsync();
}
SIntakeQuestionnaireSection::OnDeploymentScenarioStateChangedMultiDelegate.AddSP(this, &SUserInputSection::OnDeploymentScenarioStateChanged);
SGameLiftSettingsAwsAccountMenu::OnProfileSelectionChangedMultiDelegate.AddSP(this, &SUserInputSection::OnBootstrapStatusChanged);
SResetDeploymentModal::OnResetDeploymentMultiDelegate.AddSP(this, &SUserInputSection::OnRefreshUI);
UpdateInitialUI();
}