in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/SGameLiftSettingsAwsAccountMenu.cpp [238:272]
void SGameLiftSettingsAwsAccountMenu::RefreshProfileList()
{
ProfileListContainer->ClearChildren();
TSharedRef<IAWSConfigFileProfile> Configurator = IGameLiftCoreModule::Get().MakeAWSConfigFileProfile();
const TArray<FString>& AwsAccountsNames = Configurator->GetProfileNames();
UGameLiftSettings* Settings = GetMutableDefault<UGameLiftSettings>();
FString SelectedProfileName = Settings->CurrentProfileName;
for (int32 Index = 0; Index < AwsAccountsNames.Num(); ++Index)
{
const FString& ProfileName = AwsAccountsNames[Index];
FString Region = Configurator->GetRegion(ProfileName);
FString Bucket = "-";
bool IsSelectedProfile = ProfileName.Equals(SelectedProfileName);
bool ProfileVisible = !ShowBootstrapStatusOnly || IsSelectedProfile;
if (Settings->UserProfileInfoMap.Contains(ProfileName) &&
Settings->UserProfileInfoMap[ProfileName].AwsRegion == Region &&
!Settings->UserProfileInfoMap[ProfileName].S3Bucket.IsEmpty())
{
Bucket = Settings->UserProfileInfoMap[ProfileName].S3Bucket;
}
if (IsSelectedProfile && RadioButtonSelectedProfile.IsEmpty()) {
RadioButtonSelectedProfile = ProfileName;
}
TSharedRef<SWidget> RowWidget = CreateProfileRow(ProfileName, Region, Bucket, IsSelectedProfile, ProfileVisible);
ProfileListContainer->AddSlot()
.Padding(SPadding::Right2x)
.AutoHeight()
[RowWidget];
}
}