40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||
|
|
||
|
|
||
|
#include "Weapon.h"
|
||
|
|
||
|
#include "Components/SphereComponent.h"
|
||
|
|
||
|
AWeapon::AWeapon()
|
||
|
{
|
||
|
PrimaryActorTick.bCanEverTick = false;
|
||
|
bReplicates = true;
|
||
|
|
||
|
WeaponMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("WeaponMesh"));
|
||
|
WeaponMesh->SetupAttachment(RootComponent);
|
||
|
|
||
|
SetRootComponent(WeaponMesh) ;
|
||
|
|
||
|
WeaponMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Block);
|
||
|
WeaponMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_Pawn, ECollisionResponse::ECR_Ignore);
|
||
|
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||
|
|
||
|
AreaSphere = CreateDefaultSubobject<USphereComponent>(TEXT("AreaSphere"));
|
||
|
AreaSphere->SetupAttachment(RootComponent);
|
||
|
AreaSphere->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
|
||
|
AreaSphere->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||
|
}
|
||
|
|
||
|
void AWeapon::BeginPlay()
|
||
|
{
|
||
|
Super::BeginPlay();
|
||
|
|
||
|
if (HasAuthority())
|
||
|
{
|
||
|
AreaSphere->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
|
||
|
AreaSphere->SetCollisionResponseToChannel(ECollisionChannel::ECC_Pawn, ECollisionResponse::ECR_Overlap);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|