void AShooterWeapon::OnUnEquip() { DetachMeshFromPawn(); bIsEquipped = false; StopFire(); if (bPendingReload) { StopWeaponAnimation(ReloadAnim); bPendingReload = false; GetWorldTimerManager().ClearTimer(TimerHandle_StopReload); GetWorldTimerManager().ClearTimer(TimerHandle_ReloadWeapon); } if (bPendingEquip) { StopWeaponAnimation(EquipAnim); bPendingEquip = false; GetWorldTimerManager().ClearTimer(TimerHandle_OnEquipFinished); } DetermineWeaponState(); }
void AShooterWeapon::AttachMeshToPawn() { if (MyPawn) { // Remove and hide both first and third person meshes DetachMeshFromPawn(); // For locally controller players we attach both weapons and let the bOnlyOwnerSee, bOwnerNoSee flags deal with visibility. FName AttachPoint = MyPawn->GetWeaponAttachPoint(); if( MyPawn->IsLocallyControlled() == true ) { USkeletalMeshComponent* PawnMesh1p = MyPawn->GetSpecifcPawnMesh(true); USkeletalMeshComponent* PawnMesh3p = MyPawn->GetSpecifcPawnMesh(false); Mesh1P->SetHiddenInGame( false ); Mesh3P->SetHiddenInGame( false ); Mesh1P->AttachTo(PawnMesh1p, AttachPoint); Mesh3P->AttachTo(PawnMesh3p, AttachPoint); } else { USkeletalMeshComponent* UseWeaponMesh = GetWeaponMesh(); USkeletalMeshComponent* UsePawnMesh = MyPawn->GetPawnMesh(); UseWeaponMesh->AttachTo(UsePawnMesh, AttachPoint); UseWeaponMesh->SetHiddenInGame( false ); } } }
void ASWeapon::Destroyed() { Super::Destroyed(); DetachMeshFromPawn(); StopSimulatingWeaponFire(); }
void ASWeapon::EndPlay(const EEndPlayReason::Type EndPlayReason) { Super::EndPlay(EndPlayReason); DetachMeshFromPawn(); StopSimulatingWeaponFire(); }
/** unequip weapon from pawn */ void AWeapon::OnUnEquip() { if (HasAuthority()) { // UE_LOG(LogHeliWeapon, Log, TEXT("AWeapon::OnUnEquip() ---> Set owning pawn to NULL")); SetOwningPawn(NULL); } if (IsAttachedToPawn()) { StopFire(); DetachMeshFromPawn(); bIsEquipped = false; if (bPendingReload) { bPendingReload = false; GetWorldTimerManager().ClearTimer(TimerHandle_ReloadWeapon); } DetermineWeaponState(); } }
void AMagicBattleSoccerWeapon::OnUnEquip() { DetachMeshFromPawn(); bIsEquipped = false; StopFire(); DetermineWeaponState(); }
void AWeapon::AttachMeshToPawn(){ if (GetItemOwner()) { DetachMeshFromPawn(); FName AttachPoint; //= GetWeaponAttachPoint() USkeletalMeshComponent* pawnmesh = GetItemOwner()->GetMesh(); weaponMesh->AttachTo(pawnmesh, AttachPoint); } }
void AAWeapon::OnLeaveInventory() { // NET if (IsAttachedToPawn()) { OnUnEquip(); } DetachMeshFromPawn(); }
void AShooterWeapon::PostInitializeComponents() { Super::PostInitializeComponents(); if (WeaponConfig.InitialClips > 0) { CurrentAmmoInClip = WeaponConfig.AmmoPerClip; CurrentAmmo = WeaponConfig.AmmoPerClip * WeaponConfig.InitialClips; } DetachMeshFromPawn(); }
void AAWeapon::AttachMeshToPawn(EInventorySlot Slot /*= EInventorySlot::Hands*/) { if (MyPawn) { DetachMeshFromPawn(); USkeletalMeshComponent* PawnMesh = MyPawn->GetMesh(); FName AttachPoint = MyPawn->GetInventoryAttachPoint(Slot); Mesh->SetHiddenInGame(false); Mesh->AttachTo(PawnMesh, AttachPoint, EAttachLocation::SnapToTarget); } }
void ASWeapon::AttachMeshToPawn(EInventorySlot inSlot) { if (MyPawn) { DetachMeshFromPawn(); USkeletalMeshComponent* pawnMesh = MyPawn->GetMesh(); //FName attachPoint = MyPawn->GetInventoryAttachPoint(inSlot); //Mesh->SetHiddenInGame(false); //Mesh->AttachTo(pawnMesh, attachPoint, EAttachLocation::SnapToTarget); } }
void ALMParticularWeapon::AttachMeshToPawn() { if (MyPawn) { DetachMeshFromPawn(); FName AttachPoint = MyPawn->GetParticularWeaponAttachPoint(); USkeletalMeshComponent* PawnMesh = MyPawn->GetMesh(); Mesh->SetHiddenInGame(false); Mesh->AttachTo(PawnMesh, AttachPoint); } }
void ASWeapon::OnLeaveInventory() { if (Role == ROLE_Authority) { SetOwningPawn(nullptr); } if (IsAttachedToPawn()) { OnUnEquip(); } DetachMeshFromPawn(); }
void AMagicBattleSoccerWeapon::AttachMeshToPawn(FName InSocketName) { if (nullptr != MyPawn) { // Remove and hide both first and third person meshes DetachMeshFromPawn(); // Attach the weapon to the player's right hand USkeletalMeshComponent* PlayerMesh = Cast<USkeletalMeshComponent>(MyPawn->GetComponentByClass(USkeletalMeshComponent::StaticClass())); AttachRootComponentTo(PlayerMesh, InSocketName, EAttachLocation::SnapToTarget); // Show our mesh SetActorHiddenInGame(false); } }
void AWeapon::UnEquip(AMutagenCharacter* entity) { DetachMeshFromPawn(); SetEquiped(true); StopAttack(); if (bPendingEquip) { StopWeaponAnimation(equipAnimation); bPendingEquip = false; //GetWorldTimerManager().ClearTimer(this, &AWeapon::OnEquipFinished); GetWorldTimerManager().ClearTimer(equipTimerHandle); } DetermineWeaponState(); }
void AWeapon::PostInitializeComponents(){ Super::PostInitializeComponents(); DetachMeshFromPawn(); }