Added Blank Delegate for split Sensors + Added Getters for Contest/Stage/Split rankings for 1 participant + Global Cleaning

This commit is contained in:
2025-07-14 02:40:03 +02:00
parent e6d878aeef
commit 1c04ae6bd7
9 changed files with 185 additions and 100 deletions

View File

@ -11,79 +11,80 @@
UENUM(BlueprintType, Category="DTFlux|Model")
enum class EDTFluxParticipantStatusType : uint8
{
Normal = 0 UMETA(DisplayName="Normal"),
OutOfRace = 1 UMETA(DisplayName="HorsCourse"),
DSQ = 2 UMETA(DisplayName="Disqualifié"),
DNF = 3 UMETA(DisplayName="Abandon"),
DNS = 4 UMETA(DisplayName="NonPartant"),
NotLinedUp = 5 UMETA(DisplayName="NonPresentAuDépart"),
Unknown = 1 << 4 UMETA(DisplayName="Unknown")
Normal = 0 UMETA(DisplayName="Normal"),
OutOfRace = 1 UMETA(DisplayName="HorsCourse"),
DSQ = 2 UMETA(DisplayName="Disqualifié"),
DNF = 3 UMETA(DisplayName="Abandon"),
DNS = 4 UMETA(DisplayName="NonPartant"),
NotLinedUp = 5 UMETA(DisplayName="NonPresentAuDépart"),
Unknown = 1 << 4 UMETA(DisplayName="Unknown")
};
UENUM(BlueprintType, meta=(Bitflags, UseEnumValuesAsMaskValuesInEditor=true))
enum class EParticipantSortingType : uint8
{
None = 0 << 1 UMETA(DisplayName="Normal"),
Alpha = 1 << 1 UMETA(DisplayName="Aplha"),
PoursuiteStartTime = 1 << 2 UMETA(DisplayName="Poursuite StartTime"),
Rank = 1 << 3 UMETA(DisplayName="Rank"),
IgnoreEmpty = 1 << 4 UMETA(DisplayName="IgnoreEmpty"),
None = 0 << 1 UMETA(DisplayName="Normal"),
Alpha = 1 << 1 UMETA(DisplayName="Aplha"),
PoursuiteStartTime = 1 << 2 UMETA(DisplayName="Poursuite StartTime"),
Rank = 1 << 3 UMETA(DisplayName="Rank"),
IgnoreEmpty = 1 << 4 UMETA(DisplayName="IgnoreEmpty"),
};
ENUM_CLASS_FLAGS(EParticipantSortingType);
UENUM(BlueprintType, meta=(Bitflags, UseEnumValuesAsMaskValuesInEditor=true))
UENUM(BlueprintType)
enum class EDTFluxFinisherType : uint8
{
None = 0b0000000 UMETA(DisplayName="Unknown"),
Finish = 0b0000001 UMETA(DisplayName="Finish"),
Winner = 0b0000010 UMETA(DisplayName="Winner"),
Spotter = 0b0000100 UMETA(DisplayName="Spotter"),
None = 0b0000000 UMETA(DisplayName="Unknown"),
Finish = 0b0000001 UMETA(DisplayName="Finish"),
Winner = 0b0000010 UMETA(DisplayName="Winner"),
Spotter = 0b0000100 UMETA(DisplayName="Spotter"),
};
ENUM_CLASS_FLAGS(EDTFluxFinisherType);
UENUM(BlueprintType, meta=(Bitflags, UseEnumValuesAsMaskValuesInEditor=true))
enum class EDTFluxSplitType : uint8
{
None = 0b00000000 UMETA(DisplayName="Undefined"),
PreFinnish = 0b00000001 UMETA(DisplayName="PreFinnishSplit"),
Finish = 0b00000010 UMETA(DisplayName="FinishSplit"),
Regular = 0b00000100 UMETA(DisplayName="Regular"),
None = 0b00000000 UMETA(DisplayName="Undefined"),
PreFinnish = 0b00000001 UMETA(DisplayName="PreFinnishSplit"),
Finish = 0b00000010 UMETA(DisplayName="FinishSplit"),
Regular = 0b00000100 UMETA(DisplayName="Regular"),
};
ENUM_CLASS_FLAGS(EDTFluxSplitType);
UENUM(BlueprintType, meta=(Bitflags, UseEnumValuesAsMaskValuesInEditor=true))
enum class EDTFluxSortingFilter : uint8
enum class EDTFluxSortingFilter : uint8
{
None = 0b00000000 UMETA(DisplayName="No Sorting"),
IgnoreStatusOut = 0b00000001 UMETA(DisplayName="IgnoreStatusOut"),
Ascending = 0b00000010 UMETA(DisplayName="Ascending"),
Descending = 0b00000100 UMETA(DisplayName="Descending"),
IgnoreEmpty = 0b00001000 UMETA(DisplayName="IgnoreEmpty"),
ByRank = 0b00010000 UMETA(DisplayName="ByRank"),
ByAlpha = 0b01000000 UMETA(DisplayName="ByAlpha"),
ByStartTime = 0b00100000 UMETA(DisplayName="ByStartTime"),
AscendingByRank = Ascending | ByRank UMETA(DisplayName="AscendingByRank"),
DescendingByRank= Descending | ByRank UMETA(DisplayName="DescendingByRank")
None = 0b00000000 UMETA(DisplayName="No Sorting"),
IgnoreStatusOut = 0b00000001 UMETA(DisplayName="IgnoreStatusOut"),
Ascending = 0b00000010 UMETA(DisplayName="Ascending"),
Descending = 0b00000100 UMETA(DisplayName="Descending"),
IgnoreEmpty = 0b00001000 UMETA(DisplayName="IgnoreEmpty"),
ByRank = 0b00010000 UMETA(DisplayName="ByRank"),
ByAlpha = 0b01000000 UMETA(DisplayName="ByAlpha"),
ByStartTime = 0b00100000 UMETA(DisplayName="ByStartTime"),
AscendingByRank = Ascending | ByRank UMETA(DisplayName="AscendingByRank"),
DescendingByRank = Descending | ByRank UMETA(DisplayName="DescendingByRank")
};
ENUM_CLASS_FLAGS(EDTFluxSortingFilter);
UENUM(BlueprintType)
enum class EDTFluxSortingRankingType: uint8
{
Rank = 0b00000000 UMETA(DisplayName="Rank (Default)"),
Name = 0b00000001 UMETA(DisplayName="Name"),
Bib = 0b00000010 UMETA(DisplayName="Bib"),
TimeSwim = 0b00000100 UMETA(DisplayName="Swimming Time"),
TimeTransition = 0b00001000 UMETA(DisplayName="Transition Time"),
TimeRun = TimeSwim|TimeTransition UMETA(DisplayName="Running Time"),
StartTime = 0b00001110 UMETA(DisplayName="StartTime"),
Gap = 0b00010000 UMETA(DisplayName="StartTime"),
SwimSpeed = 0b00100000 UMETA(DisplayName="StartTime"),
RunningSpeed = 0b01000000 UMETA(DisplayName="StartTime"),
TotalSpeed = 0b10000000 UMETA(DisplayName="StartTime"),
};
Rank = 0b00000000 UMETA(DisplayName="Rank (Default)"),
Name = 0b00000001 UMETA(DisplayName="Name"),
Bib = 0b00000010 UMETA(DisplayName="Bib"),
TimeSwim = 0b00000100 UMETA(DisplayName="Swimming Time"),
TimeTransition = 0b00001000 UMETA(DisplayName="Transition Time"),
TimeRun = TimeSwim | TimeTransition UMETA(DisplayName="Running Time"),
StartTime = 0b00001110 UMETA(DisplayName="StartTime"),
Gap = 0b00010000 UMETA(DisplayName="StartTime"),
SwimSpeed = 0b00100000 UMETA(DisplayName="StartTime"),
RunningSpeed = 0b01000000 UMETA(DisplayName="StartTime"),
TotalSpeed = 0b10000000 UMETA(DisplayName="StartTime"),
};

View File

@ -15,6 +15,7 @@ USTRUCT(BlueprintType, Category="DTFlux|Model")
struct DTFLUXCORE_API FDTFluxFinisherData
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, Category="DTFlux|Model")
int ContestId;
@ -23,9 +24,7 @@ public:
UPROPERTY(BlueprintReadWrite, Category="DTFlux|Model")
int Bib = -1;
UPROPERTY(BlueprintReadWrite, Category="DTFlux|Model")
FDTFluxStageRanking SplitRanking;
UPROPERTY(BlueprintReadWrite, Category="DTFlux|Model")
FDTFluxStageRanking StageRanking;
FString Time;
};
USTRUCT(BlueprintType, Category="FDTFlux|Model")
@ -64,4 +63,3 @@ struct DTFLUXCORE_API FDTFluxContestFinished
UPROPERTY(BlueprintReadOnly, Category="DTFlux|Subsystem|Events")
TArray<FDTFluxStageRanking> Rankings;
};

View File

@ -57,7 +57,7 @@ public:
};
/**
* @struct FDTFluxStageRanking
* @struct FDTFluxDetailedRankingItem
* Representing a stage ranking for a participant
*/
USTRUCT(BlueprintType, Category="DTFlux|Model")
@ -125,7 +125,7 @@ struct FDTFluxStageRanking : public FDTFluxDetailedRankingItem
* This struct is only a cosmetic Struct
*/
USTRUCT(BlueprintType, Category="DTFlux|Model")
struct DTFLUXCORE_API FDTFluxSplitRanking : public FDTFluxStageRanking
struct DTFLUXCORE_API FDTFluxSplitRanking : public FDTFluxDetailedRankingItem
{
GENERATED_BODY()
};

View File

@ -17,7 +17,7 @@ struct FDTFluxSplitSensorInfo
public:
FDTFluxSplitSensorInfo() = default;
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
int Bib = -1;
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
@ -32,6 +32,4 @@ public:
FString Gap = "-";
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
int Rank;
};