52 lines
2.0 KiB
C
52 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 "Interfaces/OLSPrimaryDataAssetInterface.h"
|
|||
|
#include "OLSPawnPrimaryDataAsset.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 UOLSPawnPrimaryDataAsset : public UOLSPrimaryDataAsset
|
|||
|
{
|
|||
|
GENERATED_BODY()
|
|||
|
|
|||
|
public:
|
|||
|
|
|||
|
UOLSPawnPrimaryDataAsset(const FObjectInitializer& objectInitializer);
|
|||
|
|
|||
|
//~ Begin UOLSPrimaryDataAsset interface
|
|||
|
virtual FString GetIdentifierString() const override;
|
|||
|
//~ End UOLSPrimaryDataAsset interface
|
|||
|
|
|||
|
protected:
|
|||
|
|
|||
|
// 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 UOLSAbilitySetPrimaryDataAsset>> 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;
|
|||
|
};
|