Files
DTFluxAPI/Source/DTFluxCoreSubsystem/Public/DTFluxCoreSubsystem.h
2025-06-17 13:17:17 +02:00

47 lines
1.4 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Subsystems/EngineSubsystem.h"
#include "Types/Interfaces/DTFluxDataCollector.h"
#include "DTFluxCoreSubsystem.generated.h"
class UFDTFluxNetworkSubsystem;
/** Forward Decl */
class UDTFluxModelAsset;
/**
*
*/
UCLASS()
class DTFLUXCORESUBSYSTEM_API UDTFluxCoreSubsystem : public UEngineSubsystem
{
GENERATED_BODY()
public:
TSoftObjectPtr<UDTFluxModelAsset> DataStorage;
// TSharedPtr<FDTFluxParser> Parser;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSplitRankings, FDateTime, ReceivedAt, TArray<UDTFluxSplitRanking*>, SplitRankings)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStageRankings, FDateTime, ReceivedAt, TArray<UDTFluxStageRanking*>, StageRankings)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnContestRankings, FDateTime, ReceivedAt, TArray<UDTFluxContestRanking*>, StageRankings)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnTeamList, FDateTime, ReceivedAt, TArray<UDTFluxTeam*>, TeamList)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnTeamUpdate, FDateTime, ReceivedAt, TArray<UDTFluxTeam*>, TeamUpdatedList)
protected:
// ~Subsystem Interface
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual void Deinitialize() override;
// ~Subsystem Interface
private:
UFDTFluxNetworkSubsystem* NetworkSubsystem = nullptr;
};