게임 개발/Unreal Engine

[UE4] 커스텀 구조체 TArray Contains 동작을 위한 oprator== 구현

지노윈 2022. 6. 11. 11:52
반응형

커스텀 구조체를 정의하고 TArray로 사용할 경우가 있습니다. 다음과 같이요.

TArray<FMyData> MyDataArray;

 

MyDataArray에 아래와 같이 특정 데이터를 가지고 있는지 검사하고자 합니다.

FMyData Data;
...
MyDataArray.Contains(Data);

 

Contains가 정상 동작하려면 아래와 같이 oprator==를 구현해 주어야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.

USTRUCT()
struct FMyData
{
	GENERATED_BODY()

	AActor MyActor;
	float Prob;

	friend bool operator==(const FMyData& Lhs, const FMyData& Rhs)
	{
		return Lhs.MyActor == Rhs.MyActor && Lhs.Prob == Rhs.Prob;
	}
};