void FRiderSourceCodeAccessor::Init()

in Source/RiderSourceCodeAccess/Private/RiderSourceCodeAccessor.cpp [280:311]


void FRiderSourceCodeAccessor::Init(const FInstallInfo& Info, EProjectModel ProjectModel, EAccessType Type)
{
	Model = ProjectModel; 
	ExecutablePath = Info.Path;
	FString SuffixText = "";
	switch (Info.InstallType) {
		case FInstallInfo::EInstallType::Installed: SuffixText = TEXT("(installed)"); break;
		case FInstallInfo::EInstallType::Toolbox: SuffixText = TEXT("(toolbox)");  break;
		case FInstallInfo::EInstallType::Custom: SuffixText = TEXT("(custom)");  break;
		default: ;
	}
	FString UprojectSuffix = "";
	if(ProjectModel == EProjectModel::Uproject)
	{
		UprojectSuffix += " Uproject";
		if(Info.SupportUprojectState == FInstallInfo::ESupportUproject::Beta)
			UprojectSuffix += " (experimental)";
	}
	FString NewName;
	if(Type == EAccessType::Direct)
	{
		NewName = *FString::Format(TEXT("Rider {0} {1}{2}"), { Info.Version.ToString(), SuffixText, UprojectSuffix });
	}
	else
	{
		NewName = *FString::Format(TEXT("Rider{0}"), { UprojectSuffix });
	}

	RiderName = *NewName;
	
	RefreshAvailability();
}