From 1688bb912d550168c8d6c9ac6587e3b6c582dc6b Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Fri, 2 Feb 2024 11:35:59 +0800 Subject: [PATCH] vault backup: 2024-02-02 11:35:59 --- .../Gameplay/GAS/GAS Ability输入绑定.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/03-UnrealEngine/Gameplay/GAS/GAS Ability输入绑定.md b/03-UnrealEngine/Gameplay/GAS/GAS Ability输入绑定.md index ee7c80c..21ec974 100644 --- a/03-UnrealEngine/Gameplay/GAS/GAS Ability输入绑定.md +++ b/03-UnrealEngine/Gameplay/GAS/GAS Ability输入绑定.md @@ -107,6 +107,30 @@ void UGSAbilitySystemComponent::AbilityLocalInputPressed(int32 InputID) } ``` +# 暂时需要使用GAS默认的枚举绑定Input的理由 +GameplayAbilitySpec.h的InputPressed: +```c++ +UPROPERTY(NotReplicated) +uint8 InputPressed:1; +``` + +该变量用于本地输入判断,可以使用自己的代码代替,但涉及到以下几个函数,工作量比较大。 +- UAbilitySystemComponent + - AbilityLocalInputReleased + - AbilitySpecInputPressed + - InternalServerTryActivateAbility + - InternalTryActivateAbility + - TryActivateAbility + - 间接关系 + - BindAbilityActivationToInputComponent + - SetBlockAbilityBindingsArray + - PressInputID + - ReleaseInputID +- UAbilityTask_WaitInputPress +- UAbilityTask_WaitInputRelease + +理论上是可以将其修改成增强输入的版本,只需要将枚举循环改成InputActionContext循环即可。 + # SDHGame 李兄是在状态机每个节点的StateBegin()中调用CreateDynamicSkillInputActionMappingContext()进行动态绑定的。FSDHSkillInputActionBinding里包含FEnhancedActionKeyMapping相关数据。 ```c++