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 "GameplayTagContainer.h"
# include "Engine/DataAsset.h"
# include "OLSInputConfigDataAsset.generated.h"
/**
* FOLSInputAction
*
* Struct used to map a input action to a gameplay input tag .
*/
USTRUCT ( BlueprintType )
struct FOLSInputAction
{
GENERATED_BODY ( )
public :
UPROPERTY ( EditDefaultsOnly , BlueprintReadOnly )
TObjectPtr < const class UInputAction > InputAction = nullptr ;
UPROPERTY ( EditDefaultsOnly , BlueprintReadOnly , Meta = ( Categories = " InputTag " ) )
FGameplayTag InputTag = FGameplayTag : : EmptyTag ;
} ;
2025-01-16 21:24:05 +00:00
DECLARE_LOG_CATEGORY_EXTERN ( LogOLSInputConfigDataAsset , Verbose , All ) ;
2025-01-06 21:29:37 +00:00
/**
* UOLSInputConfigDataAsset
*
* Non - mutable data asset that contains input configuration properties .
*/
UCLASS ( BlueprintType , Const )
class OLS_API UOLSInputConfigDataAsset : public UDataAsset
{
GENERATED_BODY ( )
public :
UOLSInputConfigDataAsset ( const FObjectInitializer & objectInitializer ) ;
public :
UFUNCTION ( BlueprintCallable , Category = " Lyra|Pawn " )
const UInputAction * FindNativeInputActionForTag ( const FGameplayTag & inputTag , bool shouldLogNotFound = true ) const ;
UFUNCTION ( BlueprintCallable , Category = " Lyra|Pawn " )
const UInputAction * FindAbilityInputActionForTag ( const FGameplayTag & inputTag , bool shouldLogNotFound = true ) const ;
public :
// List of input actions used by the owner. These input actions are mapped to a gameplay tag and must be manually bound.
UPROPERTY ( EditDefaultsOnly , BlueprintReadOnly , Meta = ( TitleProperty = " InputAction " ) )
TArray < FOLSInputAction > NativeInputActions ;
// List of input actions used by the owner. These input actions are mapped to a gameplay tag and are automatically bound to abilities with matching input tags.
UPROPERTY ( EditDefaultsOnly , BlueprintReadOnly , Meta = ( TitleProperty = " InputAction " ) )
TArray < FOLSInputAction > AbilityInputActions ;
} ;