From 6bcc703974f0f748ecbdf16e07edeefc8dd8254b Mon Sep 17 00:00:00 2001 From: Rafal Swierczek <34179rs@gmail.com> Date: Fri, 6 Oct 2023 19:58:51 +0100 Subject: [PATCH] Started Working on UI for Overload Module --- .../Content/Gadgets/BP_DeadEnemy.uasset | 4 +-- .../Content/Gadgets/BP_Explosive.uasset | 4 +-- .../OverloadModule/CG_OverloadModule.uasset | 4 +-- .../OverloadModule/WBP_OM_ScreenWidget.uasset | 3 ++ .../Content/Gadgets/GM_GadgetManager.uasset | 4 +-- .../Content/Levels/GadgetSystemTestLevel.umap | 2 +- .../Blueprints/Blueprint_CeilingLight.uasset | 4 +-- .../Props/MaterialSphere.uasset | 4 +-- .../Combat/OverloadModule/OverloadModule.cpp | 28 +++++++++++-------- .../Combat/OverloadModule/OverloadModule.h | 9 ++++-- 10 files changed, 38 insertions(+), 28 deletions(-) create mode 100644 EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/WBP_OM_ScreenWidget.uasset diff --git a/EndlessVendetta/Content/Gadgets/BP_DeadEnemy.uasset b/EndlessVendetta/Content/Gadgets/BP_DeadEnemy.uasset index bbf47748..934ef0f7 100644 --- a/EndlessVendetta/Content/Gadgets/BP_DeadEnemy.uasset +++ b/EndlessVendetta/Content/Gadgets/BP_DeadEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f28b60c8b026af2e9c599996f99ccc333e23e38bac7fcaf83d345bb48703edf -size 28631 +oid sha256:45e0a403f0bfb807fb6b6b3fe987c02e2f1f79af908507e8071a0c6259d64ed1 +size 28624 diff --git a/EndlessVendetta/Content/Gadgets/BP_Explosive.uasset b/EndlessVendetta/Content/Gadgets/BP_Explosive.uasset index e4a28dde..7589b28e 100644 --- a/EndlessVendetta/Content/Gadgets/BP_Explosive.uasset +++ b/EndlessVendetta/Content/Gadgets/BP_Explosive.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c546719195bfec717a1ea448ffd23e7eea15b3997b28a7bec6582c82fd6e0889 -size 16032 +oid sha256:f28aca2e17c3afa2dd55c79b5f66c1ea851dd8067e0712fbc9677ca614f8c927 +size 16005 diff --git a/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/CG_OverloadModule.uasset b/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/CG_OverloadModule.uasset index 4d8790c5..1093b52a 100644 --- a/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/CG_OverloadModule.uasset +++ b/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/CG_OverloadModule.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d61bb4d0a3f7c25b8901699a8047059fb83a255d89990a5b366410f51d23792 -size 23259 +oid sha256:599c54946bc53ff3d3ee06fc5c1e8322aa69d8a54380df1e8a63a41c5aefed46 +size 22249 diff --git a/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/WBP_OM_ScreenWidget.uasset b/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/WBP_OM_ScreenWidget.uasset new file mode 100644 index 00000000..042d528a --- /dev/null +++ b/EndlessVendetta/Content/Gadgets/CombatGadgets/OverloadModule/WBP_OM_ScreenWidget.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fa538706ad1bf961d40e82afa4e2ff2937e4377d353f0db4b46cd1599609d19 +size 25427 diff --git a/EndlessVendetta/Content/Gadgets/GM_GadgetManager.uasset b/EndlessVendetta/Content/Gadgets/GM_GadgetManager.uasset index 3f170b83..b227979b 100644 --- a/EndlessVendetta/Content/Gadgets/GM_GadgetManager.uasset +++ b/EndlessVendetta/Content/Gadgets/GM_GadgetManager.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:654adc50d788c8fb0546796c4a290967958f12c156d3a135034339350831dba6 -size 22655 +oid sha256:5aba529a9880bd712825883152d7ea40ba2c5e309dbd8d783942cdcb1e1879bf +size 22674 diff --git a/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap b/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap index 62d689b2..83fabf6e 100644 --- a/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap +++ b/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f27623f7de4cd3ffafc332f52d32f9d58031dad0ba48c3954472553188926618 +oid sha256:35b4a02d71c80d38b36dd3e41dcc099477704b99bd7e2785129503a80a20e67e size 106253 diff --git a/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset b/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset index c5c3b84e..d5c9196d 100644 --- a/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset +++ b/EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a60a29ad596546d481e43dfb8698842a78cc07f4a4b1000fa397cfba4e72331 -size 158206 +oid sha256:b6a5543ffe1a37190e943bef495c0b5c55b3170e3609ac120b2b0197825e858d +size 43745 diff --git a/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset b/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset index 7759cc15..56bddfc9 100644 --- a/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset +++ b/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34dc965cab9faa793895f1015563f0440389135257bb3e9682863c87e3cdae1 -size 47710 +oid sha256:3a8777c01491888bba9f40eda9d2bed76a611f0e80f75917501ce69c1a321342 +size 47333 diff --git a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.cpp b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.cpp index 1ad9fad0..5e29360d 100644 --- a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.cpp @@ -30,9 +30,11 @@ void AOverloadModule::CheckForPotentialHackTarget() FVector LT_Start = PlayerCam->GetComponentLocation(); FVector LT_End = PlayerCam->GetComponentLocation() + (PlayerCam->GetForwardVector() * DeadBodyCheckDistance); - DrawDebugLine(GetWorld(), LT_Start, LT_End, FColor::Red, false, 0.2, 0, 1); - - if (!GetWorld()->LineTraceSingleByChannel(OutHit, LT_Start, LT_End, ECC_Camera) || !(OutHit.GetActor()->ActorHasTag(FName("Enemy")) && OutHit.GetActor()->ActorHasTag(FName("Dead")))) + //DrawDebugLine(GetWorld(), LT_Start, LT_End, FColor::Red, false, 0.2, 0, 1); + + FCollisionQueryParams QueryParams = FCollisionQueryParams::DefaultQueryParam; + QueryParams.AddIgnoredActor(PlayerChar); + if (!GetWorld()->LineTraceSingleByChannel(OutHit, LT_Start, LT_End, ECC_Camera, QueryParams) || !(OutHit.GetActor()->ActorHasTag(FName("Enemy")) && OutHit.GetActor()->ActorHasTag(FName("Dead")))) { PotentialHackTarget = nullptr; DisplayNeedADeadEnemy(); @@ -41,11 +43,13 @@ void AOverloadModule::CheckForPotentialHackTarget() if (HackedEnemies.Contains(OutHit.GetActor()->GetUniqueID())) { + UE_LOG(LogTemp, Warning, TEXT("Enemy has already been hacked!")); PotentialHackTarget = nullptr; DisplayAlreadyHacked(); + return; } - DrawDebugLine(GetWorld(), LT_Start, OutHit.ImpactPoint, FColor::Green, false, 0.2, 0, 1); + //DrawDebugLine(GetWorld(), LT_Start, OutHit.ImpactPoint, FColor::Green, false, 0.2, 0, 1); PotentialHackTarget = OutHit.GetActor(); DisplayFoundPotentialTarget(); } @@ -58,6 +62,7 @@ void AOverloadModule::Activate() Super::Activate(); HackedEnemies.Add(PotentialHackTarget->GetUniqueID()); ExplodeClosestAliveEnemy(); + PlayHackingAnim(GadgetMaxUptime); } void AOverloadModule::FinishedUsing() @@ -67,10 +72,8 @@ void AOverloadModule::FinishedUsing() void AOverloadModule::ExplodeClosestAliveEnemy() { - FActorSpawnParameters SpawnParams; - SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; - AActor* SphereCollisionActor = GetWorld()->SpawnActor(USphereComponent::StaticClass(), PlayerChar->GetActorLocation(), PlayerChar->GetActorRotation(), SpawnParams); - USphereComponent* SphereCollision = Cast(SphereCollisionActor); + FTransform EmptyTransform; + USphereComponent* SphereCollision = Cast(AddComponentByClass(USphereComponent::StaticClass(), false, EmptyTransform, false)); SphereCollision->SetHiddenInGame(false); SphereCollision->SetSphereRadius(AreaOfEffectInMeters * 100, true); @@ -94,10 +97,9 @@ void AOverloadModule::ExplodeClosestAliveEnemy() // Find the closest Enemy in radius AActor* ClosestEnemy = EnemiesInRadius[0]; float Dist = FVector::Distance(PlayerChar->GetActorLocation(), ClosestEnemy->GetActorLocation()); - UE_LOG(LogTemp, Warning, TEXT("Distacne To first Considered Enemy = %f"), Dist); if (EnemiesInRadius.Num() < 2) { - SpawnExplosiveOnActor(ClosestEnemy, SpawnParams); + SpawnExplosiveOnActor(ClosestEnemy); return; } @@ -111,12 +113,14 @@ void AOverloadModule::ExplodeClosestAliveEnemy() } } - SpawnExplosiveOnActor(ClosestEnemy, SpawnParams); + SpawnExplosiveOnActor(ClosestEnemy); } -void AOverloadModule::SpawnExplosiveOnActor(AActor* ActortoExplode, FActorSpawnParameters SpawnParams) +void AOverloadModule::SpawnExplosiveOnActor(AActor* ActortoExplode) { + FActorSpawnParameters SpawnParams; + SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; GetWorld()->SpawnActor(Explosive, ActortoExplode->GetActorLocation(), ActortoExplode->GetActorRotation(), SpawnParams); } diff --git a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.h b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.h index 7dbfcb41..63e5d40f 100644 --- a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.h +++ b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Combat/OverloadModule/OverloadModule.h @@ -37,14 +37,14 @@ class ENDLESSVENDETTA_API AOverloadModule : public ACombatGadget void ExplodeClosestAliveEnemy(); - void SpawnExplosiveOnActor(AActor* ActortoExplode, FActorSpawnParameters SpawnParams); + void SpawnExplosiveOnActor(AActor* ActortoExplode); protected: UPROPERTY(EditDefaultsOnly, Category = "Overload Module") - float AreaOfEffectInMeters = 15; + float AreaOfEffectInMeters = 20; UPROPERTY(EditDefaultsOnly, Category = "Overload Module") - float DeadBodyCheckDistance = 300; + float DeadBodyCheckDistance = 250; UPROPERTY(EditDefaultsOnly, Category = "Overload Module") TSubclassOf Explosive; @@ -61,4 +61,7 @@ protected: UFUNCTION(BlueprintImplementableEvent, Category = "Overload Module") void DisplayFailedToFindTarget(); + + UFUNCTION(BlueprintImplementableEvent, Category = "Overload Module") + void PlayHackingAnim(float Loadingtime); };