Rename plugin to HarmonyLinkUE

This commit is contained in:
Jordon Brooks 2024-07-08 00:32:52 +01:00
parent 8ba9caeb27
commit 9a5194dc3a
Signed by: jordon
GPG key ID: DBD9758CD53E786A
26 changed files with 190 additions and 107 deletions

View file

@ -0,0 +1,45 @@
// Copyright (C) 2024 Jordon Brooks
#pragma once
#include "CoreMinimal.h"
#include "HLConfigValue.h"
#include "SettingsProfile.generated.h"
USTRUCT(BlueprintType)
struct FSettingsProfile
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Settings")
FName SectionName;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Settings")
TMap<FName, FHLConfigValue> Settings;
// Equality operators
bool operator==(const FSettingsProfile& Other) const
{
return SectionName == Other.SectionName && Settings.OrderIndependentCompareEqual(Other.Settings);
}
bool operator!=(const FSettingsProfile& Other) const
{
return !(*this == Other);
}
};
// Hash function
FORCEINLINE uint32 GetTypeHash(const FSettingsProfile& Profile)
{
uint32 Hash = GetTypeHash(Profile.SectionName);
for (const auto& Pair : Profile.Settings)
{
Hash = HashCombine(Hash, GetTypeHash(Pair.Key));
Hash = HashCombine(Hash, GetTypeHash(Pair.Value));
}
return Hash;
}