// 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 DataStorage; // TSharedPtr Parser; DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSplitRankings, FDateTime, ReceivedAt, TArray, SplitRankings) DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStageRankings, FDateTime, ReceivedAt, TArray, StageRankings) DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnContestRankings, FDateTime, ReceivedAt, TArray, StageRankings) DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnTeamList, FDateTime, ReceivedAt, TArray, TeamList) DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnTeamUpdate, FDateTime, ReceivedAt, TArray, TeamUpdatedList) protected: // ~Subsystem Interface virtual void Initialize(FSubsystemCollectionBase& Collection) override; virtual void Deinitialize() override; // ~Subsystem Interface private: UFDTFluxNetworkSubsystem* NetworkSubsystem = nullptr; };