136 - Strap Physics

This commit is contained in:
Kingsmedia 2022-05-20 11:03:04 +02:00
parent 4e35bbf8a4
commit ea46373af5
3 changed files with 18 additions and 0 deletions

View File

@ -133,6 +133,12 @@ void AWeapon::SetWeaponState(EWeaponState State)
WeaponMesh->SetSimulatePhysics(false); WeaponMesh->SetSimulatePhysics(false);
WeaponMesh->SetEnableGravity(false); WeaponMesh->SetEnableGravity(false);
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision); WeaponMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision);
if (WeaponType == EWeaponType::EWT_SubmachineGun)
{
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
WeaponMesh->SetEnableGravity(true);
WeaponMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
}
break; break;
case EWeaponState::EWS_Dropped: case EWeaponState::EWS_Dropped:
if (HasAuthority()) if (HasAuthority())
@ -142,6 +148,9 @@ void AWeapon::SetWeaponState(EWeaponState State)
WeaponMesh->SetSimulatePhysics(true); WeaponMesh->SetSimulatePhysics(true);
WeaponMesh->SetEnableGravity(true); WeaponMesh->SetEnableGravity(true);
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
WeaponMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Block);
WeaponMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_Pawn, ECollisionResponse::ECR_Ignore);
WeaponMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_Camera, ECollisionResponse::ECR_Ignore);
break; break;
} }
} }
@ -160,11 +169,20 @@ void AWeapon::OnRep_WeaponState()
WeaponMesh->SetSimulatePhysics(false); WeaponMesh->SetSimulatePhysics(false);
WeaponMesh->SetEnableGravity(false); WeaponMesh->SetEnableGravity(false);
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision); WeaponMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision);
if (WeaponType == EWeaponType::EWT_SubmachineGun)
{
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
WeaponMesh->SetEnableGravity(true);
WeaponMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
}
break; break;
case EWeaponState::EWS_Dropped: case EWeaponState::EWS_Dropped:
WeaponMesh->SetSimulatePhysics(true); WeaponMesh->SetSimulatePhysics(true);
WeaponMesh->SetEnableGravity(true); WeaponMesh->SetEnableGravity(true);
WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); WeaponMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
WeaponMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Block);
WeaponMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_Pawn, ECollisionResponse::ECR_Ignore);
WeaponMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_Camera, ECollisionResponse::ECR_Ignore);
break; break;
} }
} }