#pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "UObject/NoExportTypes.h" #include "Engine/DataAsset.h" #include "ClaimableRewardView.h" #include "EHolidayType.h" #include "EncounterSpecialItem.h" #include "FSDEventActivateChangedDelegate.h" #include "JettyBootEventSettings.h" #include "PlatformSpecificEventPopup.h" #include "FSDEvent.generated.h" class ADebrisDataActor; class APlayerController; class UCampaign; class UDrinkableDataAsset; class UFSDEvent; class UFSDEventPopupWidget; class UObject; class USoundCue; class UTexture2D; class UWorld; UCLASS(Blueprintable) class FSD_API UFSDEvent : public UDataAsset { GENERATED_BODY() public: UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FFSDEventActivateChanged OnActiveChanged; protected: UPROPERTY(AdvancedDisplay, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool EnableDangerousSaveGameIDEditing; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGuid SavegameID; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FName EventName; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) EHolidayType EventType; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool bFreeBeerEvent; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool bFreeBeerConfettiVisible; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDrinkableDataAsset* SpecialEventBeer; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTexture2D* SeasonEndScreenImage; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TSoftObjectPtr EventAmbienceMusic; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool UseDifferentBarLightColor; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FLinearColor SpaceRigBarLightColor; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray EventEncounters; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray> EventDebris; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool bIsEventDebrisInDeepDives; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray> SpacerigSublevels; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray> UnloadSpacerigSublevels; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool bHasClaimableRewards; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FClaimableRewardView ClaimableRewards; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray OptionalPopUpWindow; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray> Campaigns; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TSoftObjectPtr TitleScreenOverride; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FJettyBootEventSettings JettyBootSettings; public: UFSDEvent(); UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContext")) void MarkClaimableRewardsSeen(UObject* WorldContext); protected: UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext")) static bool IsFsdEventActive(UObject* WorldContext, const UFSDEvent* FSDEvent); public: UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext")) bool HasUnseenClaimableRewards(UObject* WorldContext); UFUNCTION(BlueprintCallable) bool GiveRewards(APlayerController* PlayerController); UFUNCTION(BlueprintCallable) UTexture2D* GetTitleScreenOverride(); UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext")) bool GetIsActive(UObject* WorldContext) const; UFUNCTION(BlueprintCallable) UFSDEventPopupWidget* CreatePopupWindow(APlayerController* InPlayerController); };