diff --git a/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp b/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp index c400aed5ab2ac0f6dd546af40c51b2c8036eb352..aecc2ef83c528777eeaf0938ccc7948ebf262e99 100644 --- a/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp +++ b/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp @@ -138,59 +138,24 @@ void FNDisplayLaunchButtonModule::PluginButtonClicked() GEngine->AddOnScreenDebugMessage(-1, 3, FColor::White, TEXT("The Button is set to do nothing.")); return; } + FString InsightParameters = ""; if(Settings->bEnableInsights) { - if (Settings->bStatNamedEvents) - { - InsightParameters.Append("-statnamedevents"); - } - FString TraceChannels = ""; - if (Settings->bLog) - { - TraceChannels.Append("log,"); - } - if (Settings->bBookmark) - { - TraceChannels.Append("bookmark,"); - } - if (Settings->bFrame) - { - TraceChannels.Append("frame,"); - } - if (Settings->bCPU) - { - TraceChannels.Append("cpu,"); - } - if (Settings->bGPU) - { - TraceChannels.Append("gpu,"); - } - if (Settings->bLoadTime) - { - TraceChannels.Append("loadtime,"); - } - if (Settings->bFile) - { - TraceChannels.Append("file,"); - } - if (Settings->bNet) - { - TraceChannels.Append("net,"); - } - if (TraceChannels.Len() > 0) - { - // There's probably a better way of doing this... - TraceChannels.RemoveFromEnd(","); - InsightParameters.Append(" -trace="); - InsightParameters.Append(TraceChannels); - } - if (Settings->TracehostIP.Len() > 0) - { - InsightParameters.Append(" -tracehost="); - InsightParameters.Append(Settings->TracehostIP); - } - InsightParameters.RemoveFromStart(" "); + if (Settings->bStatNamedEvents) InsightParameters.Append("-statnamedevents"); + + TArray<FString> TraceChannels; + if (Settings->bLog) TraceChannels.Add("log"); + if (Settings->bBookmark) TraceChannels.Add("bookmark"); + if (Settings->bFrame) TraceChannels.Add("frame"); + if (Settings->bCPU) TraceChannels.Add("cpu"); + if (Settings->bGPU) TraceChannels.Add("gpu"); + if (Settings->bLoadTime) TraceChannels.Add("loadtime"); + if (Settings->bFile) TraceChannels.Add("file"); + if (Settings->bNet) TraceChannels.Add("net"); + if (TraceChannels.Num() > 0) InsightParameters.Append(FString::Printf(TEXT(" -trace=%s"), *FString::Join(TraceChannels, TEXT(",")))); + + if (Settings->TracehostIP.Len() > 0) InsightParameters.Append(FString::Printf(TEXT(" -tracehost=%s"), *Settings->TracehostIP)); } /* Disable Plugins temporarily */ diff --git a/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h b/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h index 187ffd80fef402dc5fd1cd709355877beadb9052..538bb468f1577f80fa27a28e2c2734bae9908d55 100644 --- a/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h +++ b/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h @@ -34,9 +34,6 @@ public: UPROPERTY(EditAnywhere, config, Category = "General", meta = (DisplayName = "Start ")) TEnumAsByte<ButtonLaunchType> LaunchType = ButtonLaunchType_MiniCAVE; - UPROPERTY(EditAnywhere, config, Category = "General", meta = (DisplayName = "Unreal Insights ")) - bool bEnableInsights = false; - /* * TwoScreen Options */ @@ -137,6 +134,8 @@ public: /* * Insights Options */ + UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Unreal Insights ")) + bool bEnableInsights = false; UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Stat Named Events", EditCondition = "bEnableInsights==true")) bool bStatNamedEvents = true; UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Tracehost IP", EditCondition = "bEnableInsights==true"))