diff --git a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset index b62ede04..c2a34afc 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:1b95b1625b69860032c6a30ad9af83d68e7c0214b449e5355e3affa071fa6230 -size 14831 +oid sha256:4c0ecf0ac0702cc2bd355ec050232a61c49e10f102448efbeb735a51824adef6 +size 14948 diff --git a/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset b/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset index 0f990580..bc2f4981 100644 --- a/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset +++ b/EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc35eb2d43a47427d30aba0196f9eac90d089dd3abca319528c5d25c83510d0d -size 72364642 +oid sha256:8d8e13eaeaa5d8a31e974965a0e7f2c7cb546934b4129fe17baa4c26f838a051 +size 66790690 diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp b/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp index 9cb7eb8b..e78f6b94 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp @@ -3,3 +3,33 @@ #include "SideBountyClass.h" +void ASideBountyClass::BeginPlay() +{ + Super::BeginPlay(); + + MinCPsRequiredForCompletion = 1; +} + +void ASideBountyClass::IncrementBountyCheckpoint() +{ + Super::IncrementBountyCheckpoint(); + + if (Completed) + { + CompletedSideBounty.Broadcast(ActiveSBC_Index); + } +} + +void ASideBountyClass::DestroyCheckpoints() +{ + for (int i = 0; i < BountyCheckpoints.Num(); i++) + { + if (BountyCheckpoints[i] == nullptr) + { + continue; + } + + BountyCheckpoints[i]->Destroy(); + } +} + diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.h b/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.h index 460bb922..9c0dd1e2 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.h +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/SideBountyClass.h @@ -6,12 +6,30 @@ #include "BountyClass.h" #include "SideBountyClass.generated.h" -/** - * - */ +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCompletedSideBounty, int, SB_Index); + UCLASS() class ENDLESSVENDETTA_API ASideBountyClass : public ABountyClass { GENERATED_BODY() + + UPROPERTY(EditDefaultsOnly, Category = "Side Bounty") + TMap> ReplacementCheckpoints; + +protected: + virtual void BeginPlay() override; + +public: + FCompletedSideBounty CompletedSideBounty; + int ActiveSBC_Index; + + TMap> GetReplacementCheckpoints() + { + return ReplacementCheckpoints; + } + + virtual void IncrementBountyCheckpoint() override; + + void DestroyCheckpoints(); };