// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action. #pragma once #include "CoreMinimal.h" #include "OLSPrimaryDataAsset.h" #include "OLSGameDataAsset.generated.h" /** * UOLSGameDataAsset * * Non-mutable data asset that contains global game data. */ UCLASS(BlueprintType, Const, Meta = (DisplayName = "OLS Game Data", ShortTooltip = "Data asset containing global game data.")) class OLS_API UOLSGameDataAsset : public UOLSPrimaryDataAsset { GENERATED_BODY() public: UOLSGameDataAsset(); // Returns the loaded game data. static const UOLSGameDataAsset& 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; };