Implemented Side Bounties Appearing in Pause Menu with Tracking Functionality
This commit is contained in:
parent
b7f376e9df
commit
1849db2219
@ -9,31 +9,19 @@
|
|||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="dfa3053d-1d51-4dad-9270-4c17e086f627" name="Changes" comment="">
|
<list default="true" id="dfa3053d-1d51-4dad-9270-4c17e086f627" name="Changes" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/BP_Elevator.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/BP_Elevator.uasset" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/SideBounties/SecuritySpecialists/CP_GoToSecurityOffice.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/SideBounties/SecuritySpecialists/CP_GoToSecurityOffice.uasset" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CP_ElimTImothyHuntsmer.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence1.png" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence1.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence2.png" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence2.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence3.png" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CinematicFrmaes/TimothyEliminatedSequence3.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/OWCP_Apartment.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/TargetEliminatedSequence.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/WBP_TimothyEliminated.uasset" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Content/Levels/TempOpenWorld.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/TempOpenWorld.umap" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Content/PauseMenu/Tabs/BountyTabs/WBP_BountiesTab.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/PauseMenu/Tabs/BountyTabs/WBP_BountiesTab.uasset" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.h" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/BountyClass.h" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.h" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.h" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/MainBountyClass.h" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.h" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/SideBountyClass.h" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/PauseMenu/BountiesTab.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/PauseMenu/BountiesTab.h" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@ -155,7 +143,9 @@
|
|||||||
<workItem from="1707304148719" duration="10277000" />
|
<workItem from="1707304148719" duration="10277000" />
|
||||||
<workItem from="1707409116575" duration="8922000" />
|
<workItem from="1707409116575" duration="8922000" />
|
||||||
<workItem from="1707574922675" duration="10730000" />
|
<workItem from="1707574922675" duration="10730000" />
|
||||||
<workItem from="1707658695399" duration="837000" />
|
<workItem from="1707658695399" duration="2851000" />
|
||||||
|
<workItem from="1707757227103" duration="2304000" />
|
||||||
|
<workItem from="1707760017966" duration="7002000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5e4033216548f6200b2265883ed20f8c859b0ad6b628540b7cc58c8bdb2da091
|
oid sha256:071d80db1611f406955a931fe236052cfc769eeb14eee2d02206536f4fc40d8c
|
||||||
size 81558
|
size 80228
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ecab0f671c308960a2881e050ca07a1300f04e97819e1f47203ca1ca652f4ccf
|
oid sha256:5015076ef46a0b0a06bef84fadb67659cdaad3127c3834256c74d4464b8646f6
|
||||||
size 308758
|
size 308758
|
||||||
|
BIN
EndlessVendetta/Content/PauseMenu/Tabs/BountyTabs/SideBounties/WBP_SideBountyInfoBox.uasset
(Stored with Git LFS)
Normal file
BIN
EndlessVendetta/Content/PauseMenu/Tabs/BountyTabs/SideBounties/WBP_SideBountyInfoBox.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
EndlessVendetta/Content/PauseMenu/Tabs/BountyTabs/WBP_BountiesTab.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/PauseMenu/Tabs/BountyTabs/WBP_BountiesTab.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset
(Stored with Git LFS)
Binary file not shown.
@ -16,7 +16,6 @@ void ABountyClass::ActivateFirstCheckpoint()
|
|||||||
if (BountyCheckpoints.IsEmpty() || BountyCheckpoints[0] == nullptr) return;
|
if (BountyCheckpoints.IsEmpty() || BountyCheckpoints[0] == nullptr) return;
|
||||||
|
|
||||||
BountyCheckpoints[0]->Active = true;
|
BountyCheckpoints[0]->Active = true;
|
||||||
BountyCheckpoints[0]->SpawnWaypoint(BountyTitle);
|
|
||||||
// BountyCheckpoints[0]->CheckpointActivated();
|
// BountyCheckpoints[0]->CheckpointActivated();
|
||||||
BountyCheckpoints[0]->CompletedCheckpoint.AddDynamic(this, &ABountyClass::IncrementBountyCheckpoint);
|
BountyCheckpoints[0]->CompletedCheckpoint.AddDynamic(this, &ABountyClass::IncrementBountyCheckpoint);
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ public:
|
|||||||
virtual void SpawnCheckpoints();
|
virtual void SpawnCheckpoints();
|
||||||
|
|
||||||
// Activate the First Checkpoint in Bounty Checkpoints and Listen for its Completion
|
// Activate the First Checkpoint in Bounty Checkpoints and Listen for its Completion
|
||||||
void ActivateFirstCheckpoint();
|
virtual void ActivateFirstCheckpoint();
|
||||||
|
|
||||||
// De-Activate the First Checkpoint in Bounty Checkpoints
|
// De-Activate the First Checkpoint in Bounty Checkpoints
|
||||||
void DeActivateFirstCheckpoint();
|
void DeActivateFirstCheckpoint();
|
||||||
|
@ -12,6 +12,13 @@ void AMainBountyClass::IncrementBountyCheckpoint()
|
|||||||
// Cast<AEndlessVendettaCharacter>(GetWorld()->GetFirstPlayerController()->GetPawn())->CheckpointCompletedUI("", false);
|
// Cast<AEndlessVendettaCharacter>(GetWorld()->GetFirstPlayerController()->GetPawn())->CheckpointCompletedUI("", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AMainBountyClass::ActivateFirstCheckpoint()
|
||||||
|
{
|
||||||
|
Super::ActivateFirstCheckpoint();
|
||||||
|
if (BountyCheckpoints.IsEmpty() || BountyCheckpoints[0] == nullptr) return;
|
||||||
|
BountyCheckpoints[0]->SpawnWaypoint(MainBountyStruct.TargetName);
|
||||||
|
}
|
||||||
|
|
||||||
void AMainBountyClass::SpawnOpenWorldCheckpoint()
|
void AMainBountyClass::SpawnOpenWorldCheckpoint()
|
||||||
{
|
{
|
||||||
if (!IsValid(OpenWorldCheckpointClass)) return;
|
if (!IsValid(OpenWorldCheckpointClass)) return;
|
||||||
@ -25,13 +32,13 @@ void AMainBountyClass::SpawnOpenWorldCheckpoint()
|
|||||||
OpenWorldcheckpoint->SpawnWaypoint(BountyTitle);
|
OpenWorldcheckpoint->SpawnWaypoint(BountyTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMainBountyClass::SpawnCheckpoints()
|
void AMainBountyClass::SpawnCheckpoints()
|
||||||
{
|
{
|
||||||
Super::SpawnCheckpoints();
|
Super::SpawnCheckpoints();
|
||||||
ActivateFirstCheckpoint();
|
ActivateFirstCheckpoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
TArray<ASideBountyClass*> AMainBountyClass::SpawnAndReturnSideBounties()
|
TArray<ASideBountyClass*> AMainBountyClass::SpawnAndReturnSideBounties()
|
||||||
{
|
{
|
||||||
TArray<ASideBountyClass*> SpawnedSideBounties;
|
TArray<ASideBountyClass*> SpawnedSideBounties;
|
||||||
for (auto SideBountyClass : SideBountiesToSpawn)
|
for (auto SideBountyClass : SideBountiesToSpawn)
|
||||||
@ -47,7 +54,7 @@ void AMainBountyClass::SpawnOpenWorldCheckpoint()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void AMainBountyClass::SpawnAmmoDrops()
|
void AMainBountyClass::SpawnAmmoDrops()
|
||||||
{
|
{
|
||||||
UE_LOG(LogTemp, Display, TEXT("Bought Ammo Drops, but its not implemented yet"));
|
UE_LOG(LogTemp, Display, TEXT("Bought Ammo Drops, but its not implemented yet"));
|
||||||
// FActorSpawnParameters SpawnParameters;
|
// FActorSpawnParameters SpawnParameters;
|
||||||
|
@ -71,8 +71,8 @@ private:
|
|||||||
void IncrementBountyCheckpoint() override;
|
void IncrementBountyCheckpoint() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Spawns the Single Checkpoint in the Open World for this Main Bounty
|
// Spawns the Single Checkpoint in the Open World for this Main Bounty
|
||||||
void SpawnOpenWorldCheckpoint();
|
void SpawnOpenWorldCheckpoint();
|
||||||
@ -88,7 +88,8 @@ public:
|
|||||||
return PlayerSpawnTransform;
|
return PlayerSpawnTransform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Overrides to Set Title of Waypoint
|
||||||
|
void ActivateFirstCheckpoint() override;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,19 @@
|
|||||||
#include "SideBountyClass.h"
|
#include "SideBountyClass.h"
|
||||||
|
|
||||||
|
|
||||||
|
void ASideBountyClass::BeginPlay()
|
||||||
|
{
|
||||||
|
SideBountyStruct.SideBountyUID = GetUniqueID();
|
||||||
|
Super::BeginPlay();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASideBountyClass::ActivateFirstCheckpoint()
|
||||||
|
{
|
||||||
|
Super::ActivateFirstCheckpoint();
|
||||||
|
if (BountyCheckpoints.IsEmpty() || BountyCheckpoints[0] == nullptr) return;
|
||||||
|
BountyCheckpoints[0]->SpawnWaypoint(SideBountyStruct.BountyTitle);
|
||||||
|
}
|
||||||
|
|
||||||
void ASideBountyClass::IncrementBountyCheckpoint()
|
void ASideBountyClass::IncrementBountyCheckpoint()
|
||||||
{
|
{
|
||||||
Super::IncrementBountyCheckpoint();
|
Super::IncrementBountyCheckpoint();
|
||||||
|
@ -19,6 +19,9 @@ struct FSideBountyStruct
|
|||||||
|
|
||||||
UPROPERTY(BlueprintReadOnly)
|
UPROPERTY(BlueprintReadOnly)
|
||||||
bool Tracked = true;
|
bool Tracked = true;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
|
int SideBountyUID = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCompletedSideBounty, int, FavoursEarned);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCompletedSideBounty, int, FavoursEarned);
|
||||||
@ -46,12 +49,15 @@ public:
|
|||||||
// ------------------- METHODS ---------------------------------
|
// ------------------- METHODS ---------------------------------
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overrides to check if Side Bounty has been Completed
|
// Overrides to check if Side Bounty has been Completed
|
||||||
virtual void IncrementBountyCheckpoint() override;
|
virtual void IncrementBountyCheckpoint() override;
|
||||||
public:
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Overrides to Set Title of Waypoint
|
||||||
|
void ActivateFirstCheckpoint() override;
|
||||||
|
|
||||||
|
|
||||||
// ------------------- LEGACY ---------------------------------
|
// ------------------- LEGACY ---------------------------------
|
||||||
|
@ -124,6 +124,8 @@ void ABountyHunterCharacter::CreatePauseMenuTabs()
|
|||||||
{
|
{
|
||||||
BountiesTab = CreateWidget<UBountiesTab>(GetWorld(), UGameplayStatics::GetCurrentLevelName(GetWorld()) == OpenWorldLevelName ? BountyTabWidgetClass : BountyInProgressTabWidgetClass);
|
BountiesTab = CreateWidget<UBountiesTab>(GetWorld(), UGameplayStatics::GetCurrentLevelName(GetWorld()) == OpenWorldLevelName ? BountyTabWidgetClass : BountyInProgressTabWidgetClass);
|
||||||
BountiesTab->ReturnToOpenWorldEarlyDelegate.AddDynamic(this, &ABountyHunterCharacter::ReturnToOpenWorldEarly);
|
BountiesTab->ReturnToOpenWorldEarlyDelegate.AddDynamic(this, &ABountyHunterCharacter::ReturnToOpenWorldEarly);
|
||||||
|
BountiesTab->TrackBountyDelegate.AddDynamic(this, &ABountyHunterCharacter::TrackMainBounty);
|
||||||
|
BountiesTab->TrackSideBountyDelegate.AddDynamic(this, &ABountyHunterCharacter::TrackSideBounty);
|
||||||
}
|
}
|
||||||
UpdateBountyTabInfo();
|
UpdateBountyTabInfo();
|
||||||
FavoursTab = CreateWidget<UTabWidget>(GetWorld(), FavoursTabWidgetClass);
|
FavoursTab = CreateWidget<UTabWidget>(GetWorld(), FavoursTabWidgetClass);
|
||||||
|
@ -190,4 +190,34 @@ private:
|
|||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ReturnToOpenWorldEarly();
|
void ReturnToOpenWorldEarly();
|
||||||
|
|
||||||
|
void DeActivateAllBounties()
|
||||||
|
{
|
||||||
|
CurrentMainBounty->DeActivateFirstCheckpoint();
|
||||||
|
for (auto SideBounty : CurrentSideBounties)
|
||||||
|
{
|
||||||
|
SideBounty->DeActivateFirstCheckpoint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void TrackMainBounty()
|
||||||
|
{
|
||||||
|
DeActivateAllBounties();
|
||||||
|
CurrentMainBounty->ActivateFirstCheckpoint();
|
||||||
|
}
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void TrackSideBounty(int SideBountyUID)
|
||||||
|
{
|
||||||
|
DeActivateAllBounties();
|
||||||
|
for (auto SideBounty : CurrentSideBounties)
|
||||||
|
{
|
||||||
|
if (SideBounty->GetUniqueID() == SideBountyUID)
|
||||||
|
{
|
||||||
|
SideBounty->ActivateFirstCheckpoint();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
@ -8,8 +8,9 @@
|
|||||||
#include "EndlessVendetta/BountySystem/BountyClass.h"
|
#include "EndlessVendetta/BountySystem/BountyClass.h"
|
||||||
#include "BountiesTab.generated.h"
|
#include "BountiesTab.generated.h"
|
||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FTrackBounty, ABountyClass*, BountyToTrack);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FTrackBounty);
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FReturnToOpenWorldEarly);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FReturnToOpenWorldEarly);
|
||||||
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FTrackSideBounty, int, BountyID);
|
||||||
|
|
||||||
UCLASS()
|
UCLASS()
|
||||||
class ENDLESSVENDETTA_API UBountiesTab : public UTabWidget
|
class ENDLESSVENDETTA_API UBountiesTab : public UTabWidget
|
||||||
@ -21,9 +22,12 @@ class ENDLESSVENDETTA_API UBountiesTab : public UTabWidget
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(BlueprintAssignable)
|
UPROPERTY(BlueprintCallable)
|
||||||
FTrackBounty TrackBountyDelegate;
|
FTrackBounty TrackBountyDelegate;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintCallable)
|
||||||
|
FTrackSideBounty TrackSideBountyDelegate;
|
||||||
|
|
||||||
UPROPERTY(BlueprintCallable)
|
UPROPERTY(BlueprintCallable)
|
||||||
FReturnToOpenWorldEarly ReturnToOpenWorldEarlyDelegate;
|
FReturnToOpenWorldEarly ReturnToOpenWorldEarlyDelegate;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user