51 lines
2.0 KiB
C++
51 lines
2.0 KiB
C++
// © 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 "Engine/DataAsset.h"
|
|
#include "OLSPawnDataAsset.generated.h"
|
|
|
|
/**
|
|
* UOLSPawnPrimaryDataAsset
|
|
*
|
|
* Non-mutable data asset that contains properties used to define a pawn.
|
|
*/
|
|
UCLASS(BlueprintType, Const, Meta = (DisplayName = "OLS Pawn Primary Data", ShortTooltip = "Data asset used to define a Pawn."))
|
|
class OLS_API UOLSPawnDataAsset : public UOLSPrimaryDataAsset
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
UOLSPawnDataAsset(const FObjectInitializer& objectInitializer);
|
|
|
|
//~ Begin UOLSPrimaryDataAsset interface
|
|
virtual FString GetIdentifierString() const override;
|
|
//~ End UOLSPrimaryDataAsset interface
|
|
|
|
public:
|
|
|
|
// Class to instantiate for this pawn (should usually derive from AOLSPawn or AOLSCharacter).
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OLS|Pawn")
|
|
TSubclassOf<class APawn> PawnClass = nullptr;
|
|
|
|
// Ability sets to grant to this pawn's ability system.
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OLS|Abilities")
|
|
TArray<TObjectPtr<class UOLSAbilitySetDataAsset>> AbilitySets;
|
|
|
|
// What mapping of ability tags to use for actions taking by this pawn
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OLS|Abilities")
|
|
TObjectPtr<class UOLSAbilityTagRelationshipMappingDataAsset> TagRelationshipMapping = nullptr;
|
|
|
|
// Input configuration used by player controlled pawns to create input mappings and bind input actions.
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OLS|Input")
|
|
TObjectPtr<class UOLSInputConfigDataAsset> InputConfig = nullptr;
|
|
|
|
// @Todo: implement DefaultCamera mode here.
|
|
// Default camera mode used by player controlled pawns.
|
|
// UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Camera")
|
|
// TSubclassOf<ULyraCameraMode> DefaultCameraMode = nullptr;
|
|
};
|