Hello,
I’m trying to write my own EQS Test in C++ that will score the items based on a value returned by a UObject Interface. It compiles fine but when I test it using the EQS Testing Pawn in the scene, every item returns a value of 0.
Here is the Test that I’m trying to create:
void UKeyPointPlayerScore::RunTest(FEnvQueryInstance& QueryInstance) const
{
for (FEnvQueryInstance::ItemIterator It(this, QueryInstance); It; ++It){
float InteractionScore = IKeyPointInterface::Execute_GetCurrentPlayerInteractionScore(GetItemActor(QueryInstance, It.GetIndex()));
It.SetScore(TestPurpose, FilterType, InteractionScore, 0.0f, 10.0f);
}
}
Here is the interface:
class ARTIFICIALINTELLIGENCE_API IKeyPointInterface
{
GENERATED_BODY()
// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
float GetCurrentPlayerInteractionScore();
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
bool GetIsActive();
};