// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Engine/DataAsset.h" #include "UObject/SoftObjectPtr.h" #include "UObject/UObjectGlobals.h" #include "LyraGameData.generated.h" class UGameplayEffect; class UObject; /** * ULyraGameData * * Non-mutable data asset that contains global game data. */ UCLASS(BlueprintType, Const, Meta = (DisplayName = "Lyra Game Data", ShortTooltip = "Data asset containing global game data.")) class ULyraGameData : public UPrimaryDataAsset { GENERATED_BODY() public: ULyraGameData(); // Returns the loaded game data. static const ULyraGameData& Get(); public: // Gameplay effect used to apply damage. Uses SetByCaller for the damage magnitude. UPROPERTY(EditDefaultsOnly, Category = "Default Gameplay Effects", meta = (DisplayName = "Damage Gameplay Effect (SetByCaller)")) TSoftClassPtr DamageGameplayEffect_SetByCaller; // Gameplay effect used to apply healing. Uses SetByCaller for the healing magnitude. UPROPERTY(EditDefaultsOnly, Category = "Default Gameplay Effects", meta = (DisplayName = "Heal Gameplay Effect (SetByCaller)")) TSoftClassPtr HealGameplayEffect_SetByCaller; // Gameplay effect used to add and remove dynamic tags. UPROPERTY(EditDefaultsOnly, Category = "Default Gameplay Effects") TSoftClassPtr DynamicTagGameplayEffect; };