I want to add the function of adding weapons on key press But when overlap, the class of the object is not defined.
Code:
APlayerCharacter::APlayerCharacter()
{
…
TriggerCapsuleComponent = CreateDefaultSubobject<UCapsuleComponent>(TEXT(“TriggerCapsule”));
TriggerCapsuleComponent->InitCapsuleSize(55.f, 96.0f);;
TriggerCapsuleComponent->SetCollisionProfileName(TEXT(“OverlapAll”));
TriggerCapsuleComponent->SetupAttachment(RootComponent);
TriggerCapsuleComponent->OnComponentBeginOverlap.AddDynamic(this, &APlayerCharacter::OnOverlapBegin);
TriggerCapsuleComponent->OnComponentEndOverlap.AddDynamic(this, &APlayerCharacter::OnOverlapEnd);
}
void APlayerCharacter::OnOverlapBegin(class UPrimitiveComponent* OverlappedComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
if (OtherActor && (OtherActor != this) && OtherComp)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, OtherActor->GetName());
}
}
void APlayerCharacter::OnOverlapEnd(class UPrimitiveComponent* OverlappedComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex)
{
if (OtherActor && (OtherActor != this) && OtherComp)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, OtherActor->GetName());
}
}
Maybe SetCollisionProfileName is not set correctly? Then what kind of collision should you choose?