如何获得
在编辑器下可以获得上面的值
上图是管理p4的插件
1、通过config获取,如果设置好p4并且链接上,p4的信息就会保存在config中
void UEditorToolBPLibrary::GetP4Info(TMap<FString, FString>& NamesMap)
{
const FString SettingsSection2 = TEXT("PerforceSourceControl.PerforceSourceControlSettings");
FString Port;
FString UserName;
FString WorkSpace;
FString HostOverride;
//FScopeLock ScopeLock(&CriticalSection);
const FString& IniFile = USourceControlHelpers::GetSettingsIni();
if (!GConfig->GetString(*SettingsSection2, TEXT("Port"), Port, IniFile))
{
// backwards compatibility - previously we mis-specified the Port as 'Host'
GConfig->GetString(*SettingsSection2, TEXT("Host"), Port, IniFile);
}
GConfig->GetString(*SettingsSection2, TEXT("UserName"), UserName, IniFile);
GConfig->GetString(*SettingsSection2, TEXT("Workspace"), WorkSpace, IniFile);
GConfig->GetString(*SettingsSection2, TEXT("HostOverride"), HostOverride, IniFile);
NamesMap.Add("Server", Port);
NamesMap.Add("UserName", UserName);
NamesMap.Add("WorkSpace", WorkSpace);
}
2、通过
FPerforceSourceControlModule& PerforceSourceControl = FPerforceSourceControlModule::Get();
// //
FPerforceSourceControlSettings& Settings = PerforceSourceControl.AccessSettings();
FString WorkSpace = Settings .GetWorkspace();
FPerforceConnectionInfo info = Settings .GetConnectionInfo();
这种方法理论上是能获得,但是编译报错 ,我目前还没解决。