#c #delegates #unreal-engine4
Вопрос:
Вот моя проблема, я только что добавил Dynamic_Multicast_delegate в свой код SetPawn, кажется, лучший метод для функции прослушивания, однако, когда я нажимаю play, я получаю нарушение доступа от PlayerController в BeginPlay() в строке 13, используя файл дампа, я вижу, что FindComponentByClass-это метод, вызывающий необработанное исключение, в котором указано, что это — >Пешка была nullptr вот код для SetPawn void ATankAIController::SetPawn(APawn* InPawn) { Super::SetPawn(InPawn); if (InPawn) { auto PossesedTank = Cast<ATank>(InPawn); if (!ensure(PossesedTank)) { return; } PossesedTank->OnTankDeath.AddUniqueDynamic(this, amp;ATankPlayerController::OnPossesedTankDeath); } }
Ответ №1:
Поэтому я допустил ошибку и не использовал Super::SetPawn(InPawn); внутри PlayerController