152 lines
5.5 KiB
C++
Executable file
152 lines
5.5 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Object.h"
|
|
#include "DeepDiveAnalyticsInformation.h"
|
|
#include "EFSDGoogleAnalyticsProperties.h"
|
|
#include "PartyAnalyticsInformation.h"
|
|
#include "GoogleAnalyticsWrapper.generated.h"
|
|
|
|
class AActor;
|
|
class AFSDGameState;
|
|
class AFSDPlayerState;
|
|
class APlayerController;
|
|
class USeasonChallenge;
|
|
|
|
UCLASS(Blueprintable)
|
|
class UGoogleAnalyticsWrapper : public UObject {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString LastUnlockedWeapons;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString LastKnownClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString BoscoLoadOut;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
bool WasCampaign;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString LastCampaignName;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
int32 LastCampaignProgress;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
bool WasLastCampaignMission;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
int32 LastCampaignSize;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString LastWeaponsLoadout;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString LastUpgradesLoadout;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FString SchematicInformation;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FPartyAnalyticsInformation PartyInfo;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FDeepDiveAnalyticsInformation DeepDiveInfo;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FString DiscordCommunityTrackingID;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FString CommunityGoalsTrackingID;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
bool ShouldUpdateSchematicTrackingInformation;
|
|
|
|
public:
|
|
UGoogleAnalyticsWrapper();
|
|
UFUNCTION(BlueprintCallable)
|
|
void StartMissionPartyInfo(AFSDGameState* GameState);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetShouldUpdateSchematicInformation();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void ResetBoscoLoadout();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordTotalTimeHit(const FString& Key, const FString& Campaign, bool Rank, int32 Time);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordOpenScreen(const FString& Key, bool Rank);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordMachineEventEnd(const FString& EventName, bool WasCompleted, float completionTime);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordKickPlayer(const FString& reason, APlayerController* KickedPlayer);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGAUserTiming(const FString& TimingCategory, const int32 TimingValue, const FString& TimingName);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGaTreeOfVanityClaim(int32 NodeID);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGASeasonLevelUp();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGAMissionTotalTimeHit(const FString& Key, const FString& Campaign, bool Rank, int32 TotalTime, int32 Progress, int32 XP, int32 Credits);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGAMissionTimeEvent(int32 Time);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGAEvent(const FString& EventCategory, const FString& EventAction, const FString& EventLabel, const int32 EventValue, EFSDGoogleAnalyticsProperties Property);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGADeepDiveStageHit(const FString& Key, bool Rank, int32 StageTime, int32 TimeSinceStartOfDive, int32 TotalTime, int32 NitraLeft);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordGaChallengeReroll(int32 ChallengeIndex, USeasonChallenge* Challenge);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordExtraFailInfo(const FString& MissionName, const FString& Stage, const FString& ExtraText);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordCustomGAEvent(const FString& EventCategory, const FString& EventAction, const FString& EventLabel, const int32 EventValue, const FString& TrackingId);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordContinuousDamage(AActor* DamageCauser);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RecordBossFightEnd(const FString& BossName, bool WasBossKilled, int32 BossKills);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
FString ProcessCampaignName(UClass* Campaign);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void PlayerLatejoin();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void PlayerDropout();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnPlayerLeaveBind(AFSDPlayerState* PlayerState);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnPlayerJoinBind(AFSDPlayerState* PlayerState);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void HandleMatchStarted();
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
FString GetAnalyticsFText(FText Text);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void EndMissionPartyInfo();
|
|
|
|
};
|
|
|