2025-01-06 21:29:37 +00:00
|
|
|
|
// © 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 "DataAssets/OLSPrimaryDataAsset.h"
|
|
|
|
|
#include "Engine/DataAsset.h"
|
2025-01-09 23:05:57 +00:00
|
|
|
|
#include "OLSExperienceDefinitionDataAsset.generated.h"
|
2025-01-06 21:29:37 +00:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Definition of an experience
|
|
|
|
|
*/
|
|
|
|
|
UCLASS(BlueprintType, Const)
|
2025-01-09 23:05:57 +00:00
|
|
|
|
class OLS_API UOLSExperienceDefinitionDataAsset : public UOLSPrimaryDataAsset
|
2025-01-06 21:29:37 +00:00
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
2025-01-09 23:05:57 +00:00
|
|
|
|
UOLSExperienceDefinitionDataAsset();
|
2025-01-06 21:29:37 +00:00
|
|
|
|
|
|
|
|
|
//~ Begin UObject interface
|
|
|
|
|
#if WITH_EDITOR
|
|
|
|
|
virtual EDataValidationResult IsDataValid(class FDataValidationContext& context) const override;
|
|
|
|
|
#endif
|
|
|
|
|
//~ End of UObject interface
|
|
|
|
|
|
|
|
|
|
//~ Begin IOLSPrimaryDataAssetInterface
|
|
|
|
|
virtual FString GetIdentifierString() const override;
|
|
|
|
|
//~ End IOLSPrimaryDataAssetInterface
|
|
|
|
|
|
|
|
|
|
//~ Begin UPrimaryDataAsset interface
|
|
|
|
|
#if WITH_EDITORONLY_DATA
|
|
|
|
|
virtual void UpdateAssetBundleData() override;
|
|
|
|
|
#endif
|
|
|
|
|
//~ End of UPrimaryDataAsset interface
|
|
|
|
|
|
2025-01-08 05:30:09 +00:00
|
|
|
|
public:
|
2025-01-06 21:29:37 +00:00
|
|
|
|
|
|
|
|
|
// List of Game Feature Plugins this experience wants to have active
|
|
|
|
|
UPROPERTY(EditDefaultsOnly, Category = "OLSExperienceDefinition")
|
|
|
|
|
TArray<FString> GameFeaturesToEnable;
|
|
|
|
|
|
|
|
|
|
/** The default pawn class to spawn for players */
|
2025-01-09 18:27:12 +00:00
|
|
|
|
UPROPERTY(EditDefaultsOnly, Category = "OLSExperienceDefinition")
|
2025-01-09 23:05:57 +00:00
|
|
|
|
TObjectPtr<const class UOLSPawnDataAsset> DefaultPawnData = nullptr;
|
2025-01-06 21:29:37 +00:00
|
|
|
|
|
|
|
|
|
// List of actions to perform as this experience is loaded/activated/deactivated/unloaded
|
|
|
|
|
UPROPERTY(EditDefaultsOnly, Instanced, Category = "OLSExperienceDefinition")
|
|
|
|
|
TArray<TObjectPtr<class UGameFeatureAction>> Actions;
|
|
|
|
|
|
|
|
|
|
// List of additional action sets to compose into this experience
|
2025-01-09 18:27:12 +00:00
|
|
|
|
UPROPERTY(EditDefaultsOnly, Category = "OLSExperienceDefinition")
|
2025-01-09 23:05:57 +00:00
|
|
|
|
TArray<TObjectPtr<class UOLSExperienceActionSetDataAsset>> ActionSets;
|
2025-01-06 21:29:37 +00:00
|
|
|
|
};
|