#pragma once
#include "CoreMinimal.h"
#include "DataProviders/AIDataProvider.h"
#include "DataProviders/AIDataProvider.h"
#include "FortAIAssignmentIdentifier.h"
#include "FortQueryTest_GoalBase.h"
#include "FortQueryTest_BuildingCriteria.generated.h"

UCLASS(Blueprintable)
class UFortQueryTest_BuildingCriteria : public UFortQueryTest_GoalBase {
    GENERATED_BODY()
public:
private:
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForGroundSupportedFloor;
    
    UPROPERTY(EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForBeingGroundSupported;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForTraps;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForWalls;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForNavigableOpening;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FFortAIAssignmentIdentifier RootAssignmentID;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderBoolValue bPreferCloserToRootAssignment;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ScoreForDistanceFromClosestRootAssignmentGoal;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue MinDistanceForDistanceScoring;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue MaxDistanceForDistanceScoring;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue MaxHealthScore;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderBoolValue bPreferHigherHealth;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ClampMaxHealthValue;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue ClampMinHealthValue;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderBoolValue bPreferHigherHealthPercentage;
    
    UPROPERTY( EditAnywhere, meta=(AllowPrivateAccess=true))
    FAIDataProviderFloatValue MaxHealthPercentageScore;
    
public:
    UFortQueryTest_BuildingCriteria();
};

