TSharedRef SGameLiftSettingsGameLiftMenu::MakeGetStartedWidget()

in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/SGameLiftSettingsGameLiftMenu.cpp [38:124]


TSharedRef<SWidget> SGameLiftSettingsGameLiftMenu::MakeGetStartedWidget() const
{

	TSharedRef<SSubtitleBlock> GetStartedTextBlock = SNew(SSubtitleBlock)
		.Text(Settings::GameLift::kGameLiftGetStartedTitleText);

	TSharedRef<STextBlock> GetStartedDescriptionBlock = SNew(STextBlock)
		.Text(Settings::GameLift::kGameLiftGetStartedDescriptionText)
		.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kParagraph)
		.AutoWrapText(true);

	TSharedRef<SWidget> AnywhereFleetCard = CreateFleetCard(
		Style::Brush::kGameLiftAnywhereIconName,
		Settings::GameLift::kGameLiftSetUpAnywhereTitleText,
		Settings::GameLift::kGameLiftSetUpAnywhereDescriptionText,
		MakeSetUpAnywhereButtonSwitcher()
	);

	TSharedRef<SWidget> ManagedEC2FleetCard = CreateFleetCard(
		Style::Brush::kGameLiftManagedEC2IconName,
		Settings::GameLift::kGameLiftSetUpManagedEC2TitleText,
		Settings::GameLift::kGameLiftSetUpManagedEC2DescriptionText,
		SNew(SButton)
		.HAlign(HAlign_Center)
		.VAlign(VAlign_Center)
		.Text(Settings::GameLift::kGameLiftSetUpManagedEC2ButtonText)
		.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
		.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kNormalButtonStyleName)
		.OnClicked_Lambda([]
			{
				FGameLiftPluginModule* Module = FModuleManager::GetModulePtr<FGameLiftPluginModule>(Plugin::GameLiftPluginTabName);
				Module->DeployManagedEC2ButtonClicked();
				return FReply::Handled();
			})
    );

	TSharedRef<SWidget> ContainersFleetCard = CreateFleetCard(
		Style::Brush::kGameLiftContainersTabIconName,
		Settings::GameLift::kGameLiftSetUpContainersTitleText,
		Settings::GameLift::kGameLiftSetUpContainersDescriptionText,
		SNew(SButton)
		.HAlign(HAlign_Center)
		.VAlign(VAlign_Center)
		.Text(Settings::GameLift::kGameLiftSetUpContainersButtonText)
		.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
		.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kNormalButtonStyleName)
		.OnClicked_Lambda([]
			{
				FGameLiftPluginModule* Module = FModuleManager::GetModulePtr<FGameLiftPluginModule>(Plugin::GameLiftPluginTabName);
				Module->DeployContainersButtonClicked();
				return FReply::Handled();
			})
	);

	// Combine widgets
	return SNew(SVerticalBox)
		+ SVerticalBox::Slot()
		.AutoHeight()
		.Padding(SPadding::Top_Bottom)
		[
			GetStartedTextBlock
		]
		+ SVerticalBox::Slot()
		.AutoHeight()
		.Padding(SPadding::Top_Bottom2x)
		[
			GetStartedDescriptionBlock
		]
		+ SVerticalBox::Slot()
        .AutoHeight()
		.Padding(SPadding::Top2x_Bottom)
		[
			SNew(SHorizontalBox)
			+ SHorizontalBox::Slot()
			[
				AnywhereFleetCard
			]
			+ SHorizontalBox::Slot()
			[
				ManagedEC2FleetCard
			]
			+ SHorizontalBox::Slot()
			[
				ContainersFleetCard
			]
		];
}