Files
UnrealEngine/Engine/Plugins/EnhancedInput/Source/InputBlueprintNodes/Private/EnhancedInputUserWidgetValidator.h
2025-05-18 13:04:45 +08:00

37 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "EditorValidatorBase.h"
#include "EnhancedInputUserWidgetValidator.generated.h"
class IAssetRegistry;
class UWidgetBlueprint;
/**
* Validates Widget Blueprints that have any Enhanced Input
* nodes in them to ensure that they have the correct "bAutomaticallyRegisterInputOnConstruction"
* setting value.
*
* Widgets require bAutomaticallyRegisterInputOnConstruction to be true in order to
* receive callbacks from Enhanced Input.
*/
UCLASS()
class UEnhancedInputUserWidgetValidator : public UEditorValidatorBase
{
GENERATED_BODY()
public:
UEnhancedInputUserWidgetValidator() = default;
protected:
//~UEditorValidatorBase interface
virtual bool CanValidateAsset_Implementation(const FAssetData& InAssetData, UObject* InAsset, FDataValidationContext& InContext) const override;
virtual EDataValidationResult ValidateLoadedAsset_Implementation(const FAssetData& InAssetData, UObject* InAsset, FDataValidationContext& InContext) override;
//~End of UEditorValidatorBase interface
private:
EDataValidationResult ValidateWidgetBlueprint(const FAssetData& InAssetData, const UWidgetBlueprint* InAsset, FDataValidationContext& InContext);
};