I got a class extended from UBTDecorator_Blackboard and I am getting errors not in my inherited class but in the base class i.e. UBTDecorator_Blackboard
Here is my code
.h
#pragma once
#include "BehaviorTree/Decorators/BTDecorator_Blackboard.h"
#include "BTDecorator_BBTest.generated.h"
/**
*
*/
UCLASS()
class AITEST_API UBTDecorator_BBTest : public UBTDecorator_Blackboard
{
GENERATED_UCLASS_BODY()
virtual bool CalculateRawConditionValue(class UBehaviorTreeComponent* OwnerComp, uint8* NodeMemory) const override;
/** blackboard key selector */
UPROPERTY(EditAnywhere, Category = Blackboard)
struct FBlackboardKeySelector BotSelectedKey;
};
.cpp
#include “AITest.h”
#include “AI/MyAIController.h”
#include “BTDecorator_BBTest.h”
UBTDecorator_BBTest::UBTDecorator_BBTest(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{
}
bool UBTDecorator_BBTest::CalculateRawConditionValue(class UBehaviorTreeComponent* OwnerComp, uint8* NodeMemory) const
{
UBehaviorTreeComponent* MyComp = OwnerComp;
AMyAIController* OwnerController = Cast<AMyAIController>(MyComp->GetOwner());
const UBlackboardComponent* BlackboardComp = OwnerComp->GetBlackboardComponent();
if (BlackboardComp)
{
FBlackboard::FKey KeyID = BotSelectedKey.GetSelectedKeyID();
bool bIsSelected = BlackboardComp->GetValueAsBool(KeyID);
GEngine->AddOnScreenDebugMessage(-1, 0.05, FColor::Black, bIsSelected ? TEXT("true") : TEXT("false"));
if (bIsSelected)
{
GEngine->AddOnScreenDebugMessage(-1, 0.05, FColor::Black, "works2");
return true;
}
}
return false;
}
Errors I am getting
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(28): error C2504: 'UBTDecorator_BlackboardBase' : base class undefined
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(29): error C2146: syntax error : missing ';' before identifier 'Super'
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(31): error C3668: 'UBTDecorator_Blackboard::CalculateRawConditionValue' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(32): error C3668: 'UBTDecorator_Blackboard::OnBlackboardChange' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(33): error C3668: 'UBTDecorator_Blackboard::DescribeRuntimeValues' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(34): error C3668: 'UBTDecorator_Blackboard::GetStaticDescription' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(80): error C3668: 'UBTDecorator_Blackboard::PostEditChangeProperty' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(81): error C3668: 'UBTDecorator_Blackboard::InitializeFromAsset' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(28): error C2504: 'UBTDecorator_BlackboardBase' : base class undefined
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(29): error C2146: syntax error : missing ';' before identifier 'Super'
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(31): error C3668: 'UBTDecorator_Blackboard::CalculateRawConditionValue' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(32): error C3668: 'UBTDecorator_Blackboard::OnBlackboardChange' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(33): error C3668: 'UBTDecorator_Blackboard::DescribeRuntimeValues' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(34): error C3668: 'UBTDecorator_Blackboard::GetStaticDescription' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(80): error C3668: 'UBTDecorator_Blackboard::PostEditChangeProperty' : method with override specifier 'override' did not override any base class methods
1>D:\Unreal Engine\Engine\Source\Runtime\AIModule\Classes\BehaviorTree/Decorators/BTDecorator_Blackboard.h(81): error C3668: 'UBTDecorator_Blackboard::InitializeFromAsset' : method with override specifier 'override' did not override any base class methods