42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "EnvironmentQuery/Tests/EnvQueryTest_Random.h"
|
|
#include "AISystem.h"
|
|
|
|
#include UE_INLINE_GENERATED_CPP_BY_NAME(EnvQueryTest_Random)
|
|
|
|
UEnvQueryTest_Random::UEnvQueryTest_Random(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
|
|
{
|
|
Cost = EEnvTestCost::Low;
|
|
|
|
// "Random" is completely agnostic on item type! Any type at all is valid!
|
|
ValidItemType = UEnvQueryItemType::StaticClass();
|
|
}
|
|
|
|
void UEnvQueryTest_Random::RunTest(FEnvQueryInstance& QueryInstance) const
|
|
{
|
|
UObject* QueryOwner = QueryInstance.Owner.Get();
|
|
if (QueryOwner == nullptr)
|
|
{
|
|
return;
|
|
}
|
|
|
|
FloatValueMin.BindData(QueryOwner, QueryInstance.QueryID);
|
|
float MinThresholdValue = FloatValueMin.GetValue();
|
|
|
|
FloatValueMax.BindData(QueryOwner, QueryInstance.QueryID);
|
|
float MaxThresholdValue = FloatValueMax.GetValue();
|
|
|
|
// loop through all items
|
|
for (FEnvQueryInstance::ItemIterator It(this, QueryInstance); It; ++It)
|
|
{
|
|
It.SetScore(TestPurpose, FilterType, UAISystem::GetRandomStream().FRand(), MinThresholdValue, MaxThresholdValue);
|
|
}
|
|
}
|
|
|
|
FText UEnvQueryTest_Random::GetDescriptionDetails() const
|
|
{
|
|
return DescribeFloatTestParams();
|
|
}
|
|
|