void SSelectDeploymentScenarioSection::Construct()

in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/EC2/SSelectDeploymentScenarioSection.cpp [23:120]


void SSelectDeploymentScenarioSection::Construct(const FArguments& InArgs)
{
	DeploymentFields = InArgs._SetDeploymentFields;
	BuildScenarioValues(IAWSScenariosCategory::ManagedEC2);

	SSectionStep::Construct(
		SSectionStep::FArguments()
		.HeaderTitle(Menu::DeployManagedEC2::kSelectScenarioHeader)
		.HeaderDescription(Menu::DeployManagedEC2::kSelectScenarioDescription)
		.BodyContent()
		[
			SNew(SVerticalBox)
				+ SVerticalBox::Slot()
				.AutoHeight()
				[
					SNew(SHorizontalBox)
						+ SHorizontalBox::Slot()
						.AutoWidth()
						.HAlign(HAlign_Left)
						[
							SNew(SOnlineHyperlink)
								.Text(Menu::DeployManagedEC2::kGameLiftChooseLocationLinkText)
								.Link(Url::kGameLiftChooseLocationsUrl)
						]
						+ SHorizontalBox::Slot()
						.AutoWidth()
						.HAlign(HAlign_Center)
						[
							SNew(STextSeparator).Separator(TEXT("|"))
						]
						+ SHorizontalBox::Slot()
						.AutoWidth()
						.HAlign(HAlign_Left)
						[
							SNew(SOnlineHyperlink)
								.Text(Menu::DeployManagedEC2::kGameLiftPricingPlanLinkText)
								.Link(Url::kGameLiftPricingPlanUrl)
						]
						+ SHorizontalBox::Slot()
						.AutoWidth()
						.HAlign(HAlign_Center)
						[
							SNew(STextSeparator).Separator(TEXT("|"))
						]
						+ SHorizontalBox::Slot()
						.AutoWidth()
						.HAlign(HAlign_Left)
						[
							SNew(SOnlineHyperlink)
								.Text(Settings::AwsAccount::kAWSFreeTierLinkText)
								.Link(Settings::AwsAccount::kAWSFreeTierLinkUrl)
						]
				]
				+ SVerticalBox::Slot()
				.AutoHeight()
				.Padding(SPadding::Top3x)
				[
					SAssignNew(SectionSwitcher, SWidgetSwitcher)
						+ SWidgetSwitcher::Slot()
						[
							SNew(SVerticalBox)
								+ SVerticalBox::Slot()
								.AutoHeight()
								[
									CreateDeploymentScenarioChoice()
								]
								+ SVerticalBox::Slot()
								.AutoHeight()
								.HAlign(HAlign_Left)
								.Padding(SPadding::Top)
								[
									CreateSubmissionButton()
								]
						]
						+ SWidgetSwitcher::Slot()
						[
							SNew(SVerticalBox)
								+ SVerticalBox::Slot()
								.AutoHeight()
								[
									CreateScenarioSubmittedDetails()
								]
								+ SVerticalBox::Slot()
								.AutoHeight()
								.HAlign(HAlign_Left)
								[
									CreateModifyButton()
								]
						]
				]
		]
	);

	SDeployScenarioSection::OnEC2DeploymentProgressChangedMultiDelegate.AddSP(this, &SSelectDeploymentScenarioSection::UpdateUIBasedOnCurrentState);

	SetDefaultValues();
	UpdateUIBasedOnCurrentState();
}