Files
UnrealEngineUWP/Engine/Plugins/Experimental/ConsoleVariables/Source/ConsoleVariablesEditor/Private/ConsoleVariablesAsset.cpp
jared therriault 085aac3e92 Console Variables Editor:
-Change save type from TMap to structure and save checked state

#rb None
#[fyi] Jason.Walter

#jira UE-137032

#ROBOMERGE-AUTHOR: jared.therriault
#ROBOMERGE-SOURCE: CL 18425130 in //UE5/Release-5.0/... via CL 18425169
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18425185 by jared therriault in ue5-release-engine-test branch]
2021-12-09 16:29:56 -05:00

57 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ConsoleVariablesAsset.h"
#include "ConsoleVariablesEditorCommandInfo.h"
#include "Algo/Find.h"
void UConsoleVariablesAsset::SetVariableCollectionDescription(const FString& InVariableCollectionDescription)
{
VariableCollectionDescription = InVariableCollectionDescription;
}
void UConsoleVariablesAsset::ReplaceSavedCommands(const TArray<FConsoleVariablesEditorAssetSaveData>& Replacement)
{
SavedCommands = Replacement;
}
bool UConsoleVariablesAsset::FindSavedDataByCommandString(const FString& InCommandString, FConsoleVariablesEditorAssetSaveData& OutValue) const
{
if (const auto* Match = Algo::FindByPredicate(
SavedCommands,
[&InCommandString] (const FConsoleVariablesEditorAssetSaveData& Comparator)
{
return Comparator.CommandName.Equals(InCommandString);
}))
{
OutValue = *Match;
return true;
}
return false;
}
void UConsoleVariablesAsset::AddOrSetConsoleVariableSavedData(const FConsoleVariablesEditorAssetSaveData& InData)
{
RemoveConsoleVariable(InData.CommandName);
SavedCommands.Add(InData);
}
bool UConsoleVariablesAsset::RemoveConsoleVariable(const FString& InCommandString)
{
FConsoleVariablesEditorAssetSaveData ExistingData;
if (FindSavedDataByCommandString(InCommandString, ExistingData))
{
return SavedCommands.Remove(ExistingData) > 0;
}
return false;
}
void UConsoleVariablesAsset::CopyFrom(const UConsoleVariablesAsset* InAssetToCopy)
{
VariableCollectionDescription = InAssetToCopy->GetVariableCollectionDescription();
SavedCommands = InAssetToCopy->GetSavedCommands();
}