Fixing Various Bugs On Delegates

This commit is contained in:
2025-07-11 19:04:37 +02:00
parent 73413e44b4
commit f1f300a351
12 changed files with 2765 additions and 1207 deletions

View File

@ -65,10 +65,6 @@ struct FDTFluxPursuitGroup
bool bIsFocus = false;
};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnPursuitSequenceReady, const FDateTime, MassStartTime,
const TArray<FDTFluxPursuitInfo>,
NextFocusPursuits,
const TArray<FDTFluxPursuitInfo>, NextPursuit, bool, bIsTrtuncate);
/**
*
@ -81,11 +77,6 @@ class DTFLUXCORESUBSYSTEM_API UDTFluxPursuitManager : public UObject
public:
UDTFluxPursuitManager(const FObjectInitializer& ObjectInitializer);
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
TArray<FDTFluxPursuitInfo> NextFocusPursuits;
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
TArray<FDTFluxPursuitInfo> NextPursuits;
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
bool bFocusIsTruncate = false;
@ -106,8 +97,6 @@ public:
UPROPERTY()
int CurrentIndex = -1;
UPROPERTY(BlueprintAssignable, Category="DTFlux|Pursuit")
FOnPursuitSequenceReady OnPursuitSequenceReady;
UFUNCTION(BlueprintCallable, Category="DTFlux|Pursuit", meta=(Keywords="pursuit, launch, poursuite"))
void InitPursuit(const TArray<int> InContestIds, const int MaxSimultaneousPursuit = 7);
@ -116,29 +105,30 @@ public:
void GetPursuit(TArray<FDTFluxPursuitInfo>& OutPursuitFocusNext, TArray<FDTFluxPursuitInfo>& OutPursuitNext,
bool& BIsFocusTruncate, const int MaxSimultaneousPursuit = 7);
UFUNCTION()
void OnRequestResponse(const FGuid& RequestId, FDTFluxServerResponse& Response);
UFUNCTION()
void OnRequestTimeoutResponse(const FGuid& RequestId, const FString& TimeoutMessage);
UFUNCTION()
void OnRequestError(const FGuid& RequestId, const FString& ErrorMessage);
UFUNCTION()
bool InitSubSystems();
UFUNCTION()
bool BindRankings();
UFUNCTION()
void UnbindRankings();
UFUNCTION()
void OnRankingsReceived(const FDTFluxStageKey NewStageKey, const FDTFluxStageRankings NewStageRankings);
private:
TArray<FRequestData> PendingRequestData;
TMap<FDTFluxStageKey, bool> PendingStageRanking;
TArray<FDTFluxStageRankings> AllRankings;
UDTFluxCoreSubsystem* CoreSubsystem = nullptr;
UDTFluxNetworkSubsystem* NetworkSubsystem = nullptr;
UPROPERTY()
bool bIsSequenceDone = true;
UPROPERTY()
bool bIsRankingBounded = false;
UFUNCTION()
void SetPursuitInfoIsMassStart(FDTFluxPursuitGroup NextFocusGroup);
UFUNCTION()
void InitPursuitForContests(const TArray<FDTFluxContest> InContests);
UFUNCTION()
bool InitPursuitForRequest(FRequestData Data);
bool LaunchPursuitSequence();
};