Files
UnrealEngineUWP/Engine/Source/Runtime/AIModule/Classes/EnvironmentQuery/EnvQuery.h
aurel cordonnier 8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00

56 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "EnvironmentQuery/EnvQueryTypes.h"
#include "Engine/DataAsset.h"
#include "EnvQuery.generated.h"
class UEdGraph;
class UEnvQueryOption;
#if WITH_EDITORONLY_DATA
class UEdGraph;
#endif // WITH_EDITORONLY_DATA
UCLASS(BlueprintType)
class AIMODULE_API UEnvQuery : public UDataAsset
{
GENERATED_UCLASS_BODY()
#if WITH_EDITORONLY_DATA
/** Graph for query */
UPROPERTY()
TObjectPtr<UEdGraph> EdGraph;
#endif
protected:
friend class UEnvQueryManager;
UPROPERTY()
FName QueryName;
UPROPERTY()
TArray<TObjectPtr<UEnvQueryOption>> Options;
public:
/** Gather all required named params */
void CollectQueryParams(UObject& QueryOwner, TArray<FAIDynamicParam>& NamedValues) const;
virtual void PostInitProperties() override;
/** QueryName patching up */
virtual void PostLoad() override;
#if WITH_EDITOR
virtual void PostRename(UObject* OldOuter, const FName OldName) override;
virtual void PostDuplicate(bool bDuplicateForPIE) override;
#endif // WITH_EDITOR
FName GetQueryName() const { return QueryName; }
TArray<UEnvQueryOption*>& GetOptionsMutable() { return Options; }
const TArray<UEnvQueryOption*>& GetOptions() const { return Options; }
};