Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ABaseCharacter::StartFire()
- {
- ABasePlayerController* controller = Cast<ABasePlayerController>(Controller);
- if (!controller || !controller->IsGameInputAllowed())
- return;
- // TODO this will need tweaking for high latency situations (client decision only for now)
- if (myWeapon)
- {
- FHitResult OutHit;
- FVector start = myCamera->GetComponentLocation();
- FVector end = start + myCamera->GetForwardVector() * 100000.0f;
- FCollisionQueryParams CollisionParams;
- CollisionParams.AddIgnoredActor(this);
- CollisionParams.AddIgnoredActor(myWeapon);
- FCollisionResponseParams CollisionResponseParams;
- if (GetWorld()->SweepSingleByChannel(OutHit, start, end, FQuat::Identity, ECollisionChannel::ECC_Visibility, FCollisionShape::MakeSphere(5.0f), CollisionParams, CollisionResponseParams))
- myWeapon->Fire(OutHit.Location);
- else
- myWeapon->Fire(end);
- }
- }
- void ABaseCharacter::StopFire()
- {
- }
Add Comment
Please, Sign In to add comment