From 6c1c5ca12ea37da7f123efbe6580ac6f2a23ab21 Mon Sep 17 00:00:00 2001 From: MH261677 Date: Thu, 19 Oct 2023 16:44:35 +0100 Subject: [PATCH] Added New AR Test & Started working on switching system --- .../Blueprints/BP_FirstPersonCharacter.uasset | 4 ++-- .../BaseWeapons/AssaultRifles/BP_ARTEST1.uasset | 3 +++ .../AssaultRifles/BP_BaseAssaultRifle.uasset | 4 ++-- .../EndlessVendetta/EndlessVendettaCharacter.cpp | 14 ++++++++++++-- .../EndlessVendetta/EndlessVendettaCharacter.h | 8 +++++--- .../WeaponSystem/BaseWeaponClass.cpp | 16 +++++++++++++++- .../WeaponSystem/BaseWeaponClass.h | 2 ++ 7 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset index f851630e..ef5cc606 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb7eb23a18c0ad9f5cf37ae72d45bac1d1b1d90fac9281cfa3e3233b9b6a3d44 -size 42950 +oid sha256:dfeced37123c7e12907f8c5c3882aa970013d96167d07df1d71a464e2f91fd0d +size 42429 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset new file mode 100644 index 00000000..777ad054 --- /dev/null +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00849c635d8e843e1520e12a92f95fd99d9b29e670718919dc847fa283ecc3c9 +size 40704 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset index 4efa20ad..14593b0f 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7cb927b0b7296205adad620a38f473c36b2ee787fa7d4c6b12009a4aaf549e9 -size 40029 +oid sha256:f9481ef86ac85568b121922e82b67586cd754928de5fa47e2c8ef57066b514b3 +size 40119 diff --git a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.cpp b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.cpp index f8deed82..b752c8e2 100644 --- a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.cpp @@ -84,7 +84,6 @@ void AEndlessVendettaCharacter::WeaponPickUpSystem() if (!GetWorld()->LineTraceSingleByChannel(OutHit, LT_Start, LT_End, ECC_Camera, QueryParams)) return; AActor* HitActor = OutHit.GetActor(); - UE_LOG(LogTemp, Warning, TEXT("Hit actor: %s"), *HitActor->GetName()); IInteractionInterface* InteractableActor = Cast(HitActor); if (InteractableActor) InteractableActor->InteractPrompt(); } @@ -144,7 +143,11 @@ void AEndlessVendettaCharacter::Interact() AActor* HitActor = OutHit.GetActor(); UE_LOG(LogTemp, Warning, TEXT("Hit actor: %s"), *HitActor->GetName()); IInteractionInterface* InteractableActor = Cast(HitActor); - if (InteractableActor) InteractableActor->Interact(); + if (InteractableActor) + { + InteractableActor->Interact(); + WeaponSwitcher(OutHit); + } } @@ -271,6 +274,13 @@ void AEndlessVendettaCharacter::EquipSecondary() SecondaryWeapon = Cast(SecondaryWeaponActor); } +void AEndlessVendettaCharacter::WeaponSwitcher(FHitResult Outhit) +{ + if (IsValid(PrimaryWeapon)) PrimaryWeapon->Destroy(); + PrimaryWeapon = Cast(Outhit.GetActor()); + Outhit.GetActor()->Destroy(); +} + //Calls the fire function in the baseWeaponClass void AEndlessVendettaCharacter::FireCaller() { diff --git a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h index fd54fc40..9c3468d9 100644 --- a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h +++ b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h @@ -148,9 +148,6 @@ protected: void ToggleRecon(); void ToggleCombat(); - void EquipPrimary(); - void EquipSecondary(); - UPROPERTY(EditDefaultsOnly, Category = "Interaction") float InteractionRange = 250; void Interact(); @@ -175,4 +172,9 @@ public: virtual float TakeDamage(float DamageAmount, FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser) override; void WeaponPickUpSystem(); + + void EquipPrimary(); + void EquipSecondary(); + + void WeaponSwitcher(FHitResult Outhit); }; diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp index ba95f360..503fd58b 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.cpp @@ -232,15 +232,29 @@ void ABaseWeaponClass::WeaponReload() void ABaseWeaponClass::Interact() { + if(!IsValid(this)) return; GLog->Log("Interact Called"); } void ABaseWeaponClass::InteractPrompt() { WeaponStatsPopUp(); - UE_LOG(LogTemp, Warning, TEXT("InteractPrompt setup")) } +// void ABaseWeaponClass::GetOutHit(FHitResult OutHit) +// { +// if(IsValid(this)) +// { +// endlessVendettaChar->PrimaryWeapon->Destroy(); +// } +// if (OutHit.GetActor()->ActorHasTag(FName("AssaultRifle"))) +// { +// endlessVendettaChar->EquipPrimary(); +// } +// //HitActor = Cast(endlessVendettaChar->PrimaryWeaponClass); +// //endlessVendettaChar->PrimaryWeapon = Cast(HitActor); +// } + diff --git a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h index f09b4492..caed9bb1 100644 --- a/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h +++ b/EndlessVendetta/Source/EndlessVendetta/WeaponSystem/BaseWeaponClass.h @@ -168,6 +168,8 @@ public: UFUNCTION(BlueprintImplementableEvent) void WeaponStatsPopUp(); + //void GetOutHit(FHitResult OutHit); + protected: UArrowComponent* GunStartArrow; bool bStopShooting = false;