in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/Containers/SControlBarSection.cpp [32:87]
void SControlBarSection::Construct(const FArguments& InArgs)
{
TSharedRef<SVerticalBox> VerticalBox = SNew(SVerticalBox);
bool isDockerInstalled = FPlatformMisc::OsExecute(TEXT("open"), TEXT("docker"), TEXT("-v"));
if (!isDockerInstalled)
{
VerticalBox->AddSlot()
.AutoHeight()
[
SNew(SBox)
.Padding(SPadding::Bottom3x)
.Visibility_Lambda([&]
{
UGameLiftContainersStatus* ContainersStatus = GetMutableDefault<UGameLiftContainersStatus>();
bool IsVisible = IsAccountBootstrapped()
&& (ContainersStatus->ContainerFleetDeploymentStatus == (int)EContainerFleetDeploymentStatus::DeploymentNotStart)
&& (ContainersStatus->DeploymentScenario != (int)EContainersDeploymentScenario::HaveContainerImageInEcr);
return IsVisible ? EVisibility::Visible : EVisibility::Collapsed;
})
[
CreateDockerInstallWarningMessage()
]
];
}
VerticalBox->AddSlot()
.AutoHeight()
[
SNew(SBox)
.Padding(SPadding::Bottom3x)
.Visibility_Lambda([&]()
{
UGameLiftContainersStatus* ContainersStatus = GetMutableDefault<UGameLiftContainersStatus>();
return (IsAccountBootstrapped() && ContainersStatus->ContainerFleetDeploymentStatus == (int)EContainerFleetDeploymentStatus::DeploymentNotStart) ? EVisibility::Visible : EVisibility::Collapsed;
})
[
CreateDeploymentTimeNotificationBar()
]
];
VerticalBox->AddSlot()
.AutoHeight()
.Padding(SPadding::Top_Bottom + SPadding::Right2x)
.HAlign(HAlign_Right)
[
CreateDeploymentButtonsRow()
];
ChildSlot
[
VerticalBox
];
}