void SDeploymentFields::Construct()

in GameLiftPlugin/Source/GameLiftPlugin/Private/SWidgets/SDeploymentFields.cpp [67:148]


void SDeploymentFields::Construct(const FArguments& InArgs)
{
	SupportedOperatingSystems = MakeSupportedOperatingSystemList();

	BuildNameInput = Internal::MakeBuildName();
	BuildOperatingSystemInput = SDeploymentFields::MakeBuildOperatingSystem();
	BuildFolderPathInput = Internal::MakeBuildFolderPath();
	BuildFilePathInput = Internal::MakeBuildFilePath();
	ExtraServerResourcesPathInput = Internal::MakeExtraServerResourcesPath();
	OutConfigFilePathInput = Internal::MakeOutConfigFilePath();

	TSharedPtr<SWidget> BuildNameInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployManagedEC2::kBuildName).RowWidget(BuildNameInput);

	TSharedPtr<SWidget> BuildNameInstructionsRow = SNew(SNamedRow)
		.SecondaryColumnLeftPadding(true)
		.RowWidget(
			SNew(STextBlock)
			.Text(Menu::DeployManagedEC2::kBuildNameInstructionText)
			.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kNote)
			.AutoWrapText(true)
		);

	TSharedPtr<SWidget> BuildOperatingSystemInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployManagedEC2::kBuildOperatingSystemTitle).RowWidget(BuildOperatingSystemInput);

	TSharedPtr<SWidget> BuildFolderPathInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployManagedEC2::kBuildFolderPathTitle).RowWidget(BuildFolderPathInput);

	TSharedPtr<SWidget> BuildFilePathInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployManagedEC2::kBuildFilePathTitle).RowWidget(BuildFilePathInput);

	TSharedPtr<SWidget> ExtraServerResourcesPathInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployManagedEC2::kExtraServerResourcesPathTitle).RowWidget(ExtraServerResourcesPathInput);

	// Currently, this field does not work so we hide it from users.
	ExtraServerResourcesPathInputRow->SetVisibility(EVisibility::Collapsed);

	TSharedPtr<SWidget> OutConfigFilePathInputRow = SNew(SNamedRow)
		.NameText(Menu::DeployCommon::kOutConfigFilePathTitle)
		.NameTooltipText(Menu::DeployCommon::kOutConfigFilePathTooltip)
		.RowWidget(OutConfigFilePathInput);

	TSharedPtr<SWidget> FullWidget =
		SNew(SVerticalBox)
		+ SVerticalBox::Slot().AutoHeight()
		[
			BuildNameInputRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight()
		[
			BuildNameInstructionsRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight().Padding(SPadding::Top_Bottom)
		[
			BuildOperatingSystemInputRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight().Padding(SPadding::Top_Bottom)
		[
			BuildFolderPathInputRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight().Padding(SPadding::Top_Bottom)
		[
			BuildFilePathInputRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight().Padding(SPadding::Top_Bottom)
		[
			ExtraServerResourcesPathInputRow.ToSharedRef()
		]
		+ SVerticalBox::Slot().AutoHeight().Padding(SPadding::Top_Bottom)
		[
			OutConfigFilePathInputRow.ToSharedRef()
		];

	ChildSlot
	[
		SNew(SBox)
		[
			FullWidget.ToSharedRef()
		]
	];
}