Я играю в FPS и сейчас добавляю ботов. У меня проблемы с одной функцией, которая показывает переопределенную проблему. Проблема с пустотой - Обладают.
Я не пробовал это.
/****
*this is .h file
*****/
#pragma once
#include "CoreMinimal.h"
#include "AIController.h"
#include "Engine.h"
#include "AI_Controller.generated.h"
UCLASS()
class TEST_API AAI_Controller : public AAIController
{
GENERATED_BODY()
public:
AAI_Controller();
virtual void BeginPlay() override;
virtual void Possess(APawn* Pawn) override;
virtual void Tick(float DeltaSeconds) override;
virtual FRotator GetControlRotation() const override;
UFUNCTION()
void OnPawnDetected(const TArray<AActor*> &DetectedPawns);
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = AI)
float AISightRadius = 500.0f;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = AI)
float AISightAge = 5.0f;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = AI)
float AILoseSightRadius = AISightRadius + 50.0f;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = AI)
float AIFieldOfView = 90.0f;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = AI)
class UAISenseConfig_Sight* SightConfig;
};
Я ожидал, что void Possess будет работать без ошибок, потому что я не вижу ничего плохого в своем коде и думаю, что это должно работать. это показывает эту ошибку -
'AController :: Possess': функция, объявленная как 'final', не может быть переопределена 'AAI_Controller :: Possess'
Буду благодарен, если кто-нибудь сможет объяснить, что случилось и как это исправить.