Skip to content

开启EnhancedInput支持,这样就可以在CommonUI中使用EnhancedInputAction(就是UInputAction)

目前,(UE5.5分支)Lyra 的源码里,还在用旧版写法(FDataTableRowHandle)。

开关:

CommonInput.CommonInputSettings.IsEnhancedInputSupportEnabled

使用

cpp
	/** 
	 *	The enhanced input action that is bound to this button. The common input manager will trigger this button to 
	 *	click if the action was pressed 
	 */
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (EditCondition = "CommonInput.CommonInputSettings.IsEnhancedInputSupportEnabled", EditConditionHides))
	TObjectPtr<UInputAction> TriggeringEnhancedInputAction;

而不是FDataTableRowHandle TriggeringInputAction;

这个Action, 可以设置给 CommonUI的CommonBaseButton,完成绑定。

同时,在Button内部,TriggeringEnhancedInputAction 会通过SetEnhancedInputAction设置给InputActionWidget,用于显示快捷键。InputActionWidget不是必须的,这是一个可选项。

cpp
	UPROPERTY(BlueprintReadOnly, Category = Input, meta = (BindWidget, OptionalWidget = true, AllowPrivateAccess = true))
	TObjectPtr<UCommonActionWidget> InputActionWidget;

这样,就完成和CommonUI的“快捷键绑定”。

更多用法:让CommonButton支持Hold