document.write("
enum class ETriggerEvent : uint8; class UInputActionGameplayAbility; class UInputAction; class UGameplayAbility; USTRUCT(NotBlueprintable) struct FInputActionGameplayAbilityMappingData { GENERATED_BODY() UPROPERTY(EditAnywhere, Category = "InputActionGameplayAbilityMappingData") TSubclassOf<UGameplayAbility> GameplayAbilityClass; UPROPERTY(EditAnywhere, Category = "InputActionGameplayAbilityMappingData") TObjectPtr<UInputAction> InputAction; UPROPERTY( EditAnywhere, Category= "InputActionGameplayAbilityMappingData", meta=(ValidEnumValues="None, Triggered, Started") ) ETriggerEvent TriggerType = ETriggerEvent::None; UPROPERTY(VisibleAnywhere, Category = "GameplayInputAbilityInfo") int32 InputID = 0; bool IsValid() const; bool operator==(const FInputActionGameplayAbilityMappingData& Other) const; bool operator!=(const FInputActionGameplayAbilityMappingData& Other) const { return !operator==(Other); } friend uint32 GetTypeHash(const FInputActionGameplayAbilityMappingData& Item); }; UCLASS() class DANDELION_API UInputActionGameplayAbilityMappings : public UDataAsset { GENERATED_BODY() UPROPERTY(EditDefaultsOnly) TSet<FInputActionGameplayAbilityMappingData> Mappings; public: FORCEINLINE const TSet<FInputActionGameplayAbilityMappingData>& GetMappings() const { return Mappings; } FInputActionGameplayAbilityMappingData* GetMappingDataByGameplayAbilityClass( const TSubclassOf<UGameplayAbility>& TargetGameplayAbilityClass ) const; virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override; };