diff --git a/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/RG_VisionLink.uasset b/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/RG_VisionLink.uasset index ace3be4f..a98e94f1 100644 --- a/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/RG_VisionLink.uasset +++ b/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/RG_VisionLink.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4b1eb50312687772c3a03c0ef4e857d8db493b85d341ca5d9d4fda2cd8669f2 -size 69951 +oid sha256:2a063d83c2d3461bee076adc8e95f993662e0d2cfe542ea8adfec6b524ecde24 +size 97920 diff --git a/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/WBP_VisionLinkViewPort.uasset b/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/WBP_VisionLinkViewPort.uasset index 847aeaaf..414cd557 100644 --- a/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/WBP_VisionLinkViewPort.uasset +++ b/EndlessVendetta/Content/Gadgets/ReconGadgets/VisionLink/WBP_VisionLinkViewPort.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb578a8064dba062142046bcb432a36f7cf120096d75835630f55c95df96c3be -size 76094 +oid sha256:10ba4f55ea7d6e695bfa848cef4da05c40c2dbe3bbb6be34b00d711f0db12b7b +size 204366 diff --git a/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap b/EndlessVendetta/Content/Levels/GadgetSystemTestLevel.umap index bd4aee5a..07001d61 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:6c62d2b4827914f2af412d694fd0a91dd89833265ee15c3de4b1dd9123f1a94f +oid sha256:5e27a9b735217e9310c6c773ebb19ce87a4f00d959f0c4710de79ce8975be500 size 109679 diff --git a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset index c2a34afc..96cc6e20 100644 --- a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset +++ b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c0ecf0ac0702cc2bd355ec050232a61c49e10f102448efbeb735a51824adef6 -size 14948 +oid sha256:abd4f2fad257e7b583ac37aa10b18aca055f039b950e0100e587611f13a0e39b +size 14831 diff --git a/EndlessVendetta/Content/StarterContent/Particles/P_Ambient_Dust.uasset b/EndlessVendetta/Content/StarterContent/Particles/P_Ambient_Dust.uasset index 1f62de3d..bf2e4391 100644 --- a/EndlessVendetta/Content/StarterContent/Particles/P_Ambient_Dust.uasset +++ b/EndlessVendetta/Content/StarterContent/Particles/P_Ambient_Dust.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4626e21a5b63987ab4b19eadd047c6bc94a0bf6fe8ca9b40681a1f7d7bdd803e -size 53268 +oid sha256:01ef616c7a8bd90cd1b7a13efb18a56f33346efbae51efa31f09804478b7621d +size 43456 diff --git a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.cpp b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.cpp index f2b3c9d0..62fb9b7f 100644 --- a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.cpp @@ -9,13 +9,9 @@ void AVisionLink::BeginPlay() SetActorTickEnabled(false); CooldownLength = CooldownTime; InUseDuration = GadgetMaxUptime; -} - - -void AVisionLink::Tick(float DeltaSeconds) -{ - Super::Tick(DeltaSeconds); + if (NumberOfPingPulses <= 0 ) NumberOfPingPulses = 1; + TimeInbetweenPingPulses = GadgetMaxUptime / (float)NumberOfPingPulses; } void AVisionLink::Activate() @@ -23,16 +19,30 @@ void AVisionLink::Activate() if (GadgetCantBeUsed()) return; Super::Activate(); - SetActorTickEnabled(true); + + NumOfPingPulsesLeftInThisCycle = NumberOfPingPulses; VisionLinkActivated(); + SendOutPingPulse(); } void AVisionLink::FinishedUsing() { - SetActorTickEnabled(false); VisionLinkRecharging(); Super::FinishedUsing(); } +void AVisionLink::SendOutPingPulse() +{ + NumOfPingPulsesLeftInThisCycle--; + UpdatePulsesRemaining(NumOfPingPulsesLeftInThisCycle); + if (NumOfPingPulsesLeftInThisCycle < 0) return; + + // THIS IS WHERE I"LL PUT PING PULSE LOGIC + UE_LOG(LogTemp, Warning, TEXT("Ping Pulse!")); + GetWorld()->GetTimerManager().SetTimer(PulseHandle, this, &AVisionLink::SendOutPingPulse, TimeInbetweenPingPulses, false); + PlayPingPulseAnim(TimeInbetweenPingPulses); +} + + diff --git a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.h b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.h index 14aa75ac..97869006 100644 --- a/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.h +++ b/EndlessVendetta/Source/EndlessVendetta/GadgetSystem/GadgetClasses/Recon/VisionLink.h @@ -14,21 +14,38 @@ class ENDLESSVENDETTA_API AVisionLink : public AReconGadget { GENERATED_BODY() - virtual void BeginPlay() override; + int NumOfPingPulsesLeftInThisCycle; - virtual void Tick(float DeltaSeconds) override; + float TimeInbetweenPingPulses; + + FTimerHandle PulseHandle; + + void SendOutPingPulse(); + + virtual void BeginPlay() override; virtual void Activate() override; virtual void FinishedUsing() override; protected: + UPROPERTY(EditDefaultsOnly, Category = "Vision Link") + int NumberOfPingPulses = 1; + UPROPERTY(BlueprintReadOnly, Category = "Vision Link") float CooldownLength; UPROPERTY(BlueprintReadOnly, Category = "Vision Link") float InUseDuration; + // Updates UI with time to next Pulse + UFUNCTION(BlueprintImplementableEvent, Category = "Vision Link") + void PlayPingPulseAnim(float PulseDuration); + + // Updates UI with pulses remaining + UFUNCTION(BlueprintImplementableEvent, Category = "Vision Link") + void UpdatePulsesRemaining(int PulsesRemaining); + UFUNCTION(BlueprintImplementableEvent, Category = "Vision Link") void VisionLinkActivated();