Добавление количества боеприпасов в игру.

Я пытался добавить эту функцию уже довольно давно. Тем не менее, кажется, что я что-то упускаю.

Поэтому я хочу добавить количество боеприпасов, единое количество боеприпасов, подобное Quake или Doom. С боеприпасами, распределенными по всей карте. Пистолет может стрелять до 10 раз, затем останавливается, но когда я пытаюсь перезарядить, накладывая боеприпасы, статическая сетка не реагирует. Статический родительский элемент mash — это проект (актер), его родительский класс — ammocrate.cpp (ниже), который также является актером. Это то, что я сделал до сих пор.

AmmoCrate.cpp

 AAmmoCrate::AAmmoCrate()
{
PrimaryActorTick.bCanEverTick = true;

Count = 10;
SphereRadius = 100.0f;

TouchSphere = CreateDefaultSubobject<USphereComponent>(TEXT("TouchSphereComponent"));
TouchSphere->InitSphereRadius(SphereRadius);
TouchSphere->SetCollisionProfileName("Trigger");
RootComponent = TouchSphere;

StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponent"));
StaticMesh->SetupAttachment(RootComponent);

TouchSphere->OnComponentBeginOverlap.AddDynamic(this, &AAmmoCrate::OnOverlapBegin);
}

void AAmmoCrate::OnOverlapBegin(class UPrimitiveComponent* OverlappedComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
AFirstPersonCharacter *FPCharacter = Cast<AFirstPersonCharacter>(OtherActor);
AMannequin* TPCharacter = Cast<AMannequin>(OtherActor);
AGun *Gun = Cast<AGun>(OtherActor);

if (TPCharacter)
{
Gun->AmmoPool = Gun->AmmoPool + Count;

this->Destroy();
}

После этого я создал функцию OnReload (), аналогичную функции OnFire (), где я вызываю ее из символа первого лица.

FirstPersonCharacter.cpp

void AFirstPersonCharacter::OnReload()
{
Gun->OnReload();
}

Я установил вызов UE_LOG для функции OnReload, которая даже не регистрирует, что ящик с боеприпасами был перекрыт, чего мне здесь не хватает?

1

Решение

Проверено ли для параметра GenerateOverlapEvents значение true в настройках столкновения капсулы символов FPS и коллайдера с боеприпасами?
Находятся ли оба коллайдера в надлежащих каналах, которые могут генерировать перекрывающиеся события?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]