void SCreateContainerGroupSection::Construct()

in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/Containers/SCreateContainerGroupSection.cpp [22:124]


void SCreateContainerGroupSection::Construct(const FArguments& InArgs)
{
	ChildSlot
		[
			SNew(SHorizontalBox)
				+ SHorizontalBox::Slot()
				.Padding(SPadding::Right2x)
				.AutoWidth()
				[
					SAssignNew(ProgressBar, SProgressBar)
				]

				+ SHorizontalBox::Slot()
				.Padding(SPadding::Bottom5x + SPadding::Right2x)
				.FillWidth(1.0f)
				[
					SNew(SVerticalBox)
						+ SVerticalBox::Slot()
						.AutoHeight()
						.Padding(SPadding::SectionTitleTopPadding)
						[
							SNew(STextBlock)
								.Text(Menu::DeployContainers::kCreateContainerGroupHeader)
								.AutoWrapText(true)
								.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kTitleStyleName)
						]

						+ SVerticalBox::Slot()
						.AutoHeight()
						.Padding(SPadding::Top3x)
						[
							SNew(STextBlock)
								.Text(Menu::DeployContainers::kCreateContainerGroupDescription)
								.AutoWrapText(true)
								.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kParagraph)
						]
						// Error text box
						+ SVerticalBox::Slot()
						.AutoHeight()
						.Padding(SPadding::Top2x)
						[
							CreateShowErrorUI()
						]
						// CGD details
						+ SVerticalBox::Slot()
						.AutoHeight()
						[
							CreateCgdDetails()
						]
						// Retry button
						+ SVerticalBox::Slot()
						.AutoHeight()
						.HAlign(HAlign_Left)
						.Padding(SPadding::Top3x)
						[
							SNew(SButton)
								.OnClicked_Lambda([&]()
									{
										ResetUIToNotStarted();
										StartSectionWorkflow();
										return FReply::Handled();
									})
								.Visibility_Lambda([&]() -> EVisibility
									{
										UGameLiftContainersStatus* ContainersStatus = GetMutableDefault<UGameLiftContainersStatus>();
										return ContainersStatus->ErrorCreatingContainerGroupSection ? EVisibility::Visible : EVisibility::Collapsed;
									})
								.Content()
								[
									SNew(SBox)
										.HAlign(HAlign_Center)
										[
											SNew(SHorizontalBox)
												+ SHorizontalBox::Slot()
												.AutoWidth()
												.HAlign(HAlign_Left)
												.VAlign(VAlign_Center)
												.Padding(SPadding::Right)
												[
													SNew(SBox)
														.WidthOverride(Style::kResetIconSize)
														.HeightOverride(Style::kResetIconSize)
														[
															SNew(SImage)
																.Image(FGameLiftPluginStyle::Get().GetBrush(Style::Brush::kResetIconName))
														]
												]
												+ SHorizontalBox::Slot()
												.AutoWidth()
												.HAlign(HAlign_Center)
												.VAlign(VAlign_Center)
												[
													SNew(STextBlock)
														.Text(Menu::DeployContainers::kRetryButtonLabel)
														.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
												]
										]
								]
						]
				]
		];
	UpdateUIBasedOnCurrentState();
}