Fix character base header comments
This commit is contained in:
@@ -24,261 +24,326 @@ class USLSCharacterMovementComponent;
|
||||
class USLSIntegrationComponent;
|
||||
|
||||
/**
|
||||
* @brief PHY <EFBFBD>拙振<EFBFBD>?AI <20>梁鍂閫坿𠧧<E59DBF>箇掩<E7AE87>? *
|
||||
* <20>箇掩<E7AE87>湔𦻖蝏扳㗁 ACharacter嚗<72>僎<EFBFBD>朞<EFBFBD>憿寧𤌍蝥抒<E89DA5>隞嗅<E99A9E><E59785>亙藁<E4BA99><E89781><EFBFBD> GAS<41><53>CS<43><53>GS<47><53>GC 銝𤾸<E98A9D>蝏剛<E89D8F><E5899B>函頂蝏麄<E89D8F>? */
|
||||
* @brief PHY 玩家和 AI 共用的角色基类。
|
||||
*
|
||||
* 基类直接继承 ACharacter,并通过项目级组件和接口适配 GAS、GCS、GGS、
|
||||
* UGC 与 Smooth Locomotion 等系统。
|
||||
*/
|
||||
UCLASS(Abstract, BlueprintType, Blueprintable)
|
||||
class PHY_API APHYCharacterBase : public ACharacter, public IAbilitySystemInterface, public IGameplayTagAssetInterface, public IGCS_CombatEntityInterface
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
/** @brief <EFBFBD><EFBFBD><EFBFBD>惩抅蝖<EFBFBD>閫坿𠧧蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 创建角色基类并挂载项目核心组件。 */
|
||||
APHYCharacterBase(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
|
||||
|
||||
/** @brief 瘜典<EFBFBD> ModularGameplay 蝏<EFBFBD>辣<EFBFBD>交𤣰<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 注册 ModularGameplay 组件接收者。 */
|
||||
virtual void PreInitializeComponents() override;
|
||||
|
||||
/** @brief <EFBFBD>?Possess <EFBFBD>?PlayerState <EFBFBD>嘥<EFBFBD><EFBFBD>硋<EFBFBD>蝏穃<EFBFBD><EFBFBD>曄內撅?Mesh 獢交𦻖蝏<F0A6BB96>辣<EFBFBD>?*/
|
||||
/** @brief 在 Possess 和 PlayerState 初始化前绑定显示 Mesh 桥接组件。 */
|
||||
virtual void PostInitializeComponents() override;
|
||||
|
||||
/** @brief <EFBFBD>嘥<EFBFBD><EFBFBD>𤥁<EFBFBD><EFBFBD>脰<EFBFBD>銵峕𧒄蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 初始化角色运行时状态和组件。 */
|
||||
virtual void BeginPlay() override;
|
||||
|
||||
/** @brief 蝘駁膄 ModularGameplay 蝏<EFBFBD>辣<EFBFBD>交𤣰<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 移除 ModularGameplay 组件接收者。 */
|
||||
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
|
||||
|
||||
/** @brief <EFBFBD>批<EFBFBD><EFBFBD>冽𦻖蝞⊥𧒄<EFBFBD>瑟鰵憿寧𤌍<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 控制器接管角色时刷新项目状态。 */
|
||||
virtual void PossessedBy(AController* NewController) override;
|
||||
|
||||
/** @brief <EFBFBD>批<EFBFBD><EFBFBD>典<EFBFBD><EFBFBD>嗅<EFBFBD>摰X<EFBFBD>蝡臬<EFBFBD><EFBFBD>瑟鰵憿寧𤌍<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 控制器复制到客户端后刷新项目状态。 */
|
||||
virtual void OnRep_Controller() override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>敶枏<EFBFBD>閫坿𠧧雿輻鍂<EFBFBD>?AbilitySystemComponent<EFBFBD>?*/
|
||||
/** @brief 获取当前角色使用的 AbilitySystemComponent。 */
|
||||
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||
|
||||
/** @brief <EFBFBD>園<EFBFBD> ASC 銝舘<EFBFBD><EFBFBD>脩𠶖<EFBFBD><EFBFBD><EFBFBD>隞嗆<EFBFBD>靘𤤿<EFBFBD> GameplayTag<EFBFBD>?*/
|
||||
/** @brief 收集 ASC 与角色状态组件提供的 GameplayTag。 */
|
||||
virtual void GetOwnedGameplayTags(FGameplayTagContainer& TagContainer) const override;
|
||||
|
||||
/** @brief <20>嘥<EFBFBD><E598A5>硋<EFBFBD><E7A18B>?Avatar 撖孵<E69296><E5ADB5>?ASC<53>?*/
|
||||
/**
|
||||
* @brief 初始化当前 Avatar 对应的 ASC。
|
||||
* @param NewAbilitySystemComponent 要绑定到该角色的 ASC。
|
||||
* @param OwnerActor ASC 的 OwnerActor,玩家通常为 PlayerState,AI 通常为自身。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Ability")
|
||||
virtual void InitializeAbilitySystem(UAbilitySystemComponent* NewAbilitySystemComponent, AActor* OwnerActor);
|
||||
|
||||
/** @brief 皜<EFBFBD><EFBFBD>閫坿𠧧蝻枏<EFBFBD><EFBFBD>?ASC 撘閧鍂<E996A7>?*/
|
||||
/** @brief 清理角色缓存的 ASC 引用。 */
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Ability")
|
||||
virtual void ClearAbilitySystem();
|
||||
|
||||
/** @brief <EFBFBD>亥砭 ASC <EFBFBD>臬炏撌脩<EFBFBD>摰峕<EFBFBD>憿寧𤌍蝥批<EFBFBD>憪见<EFBFBD><EFBFBD>?*/
|
||||
/** @brief 查询 ASC 是否已经完成项目级初始化。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Ability")
|
||||
bool IsAbilitySystemReady() const { return bAbilitySystemReady; }
|
||||
|
||||
/** @brief <20>交𤣰颲枏<E9A2B2> Tag 撟嗉楝<E59789>勗<EFBFBD>蝘餃𢆡<E9A483><F0A286A1>漱鈭埝<E988AD> GAS Ability<74>?*/
|
||||
/**
|
||||
* @brief 接收输入 Tag 并路由到移动、交互或 GAS Ability。
|
||||
* @param InputTag 输入系统派发的 GameplayTag。
|
||||
* @param TriggerEvent Enhanced Input 触发事件。
|
||||
* @return 成功处理时返回 true。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Input")
|
||||
virtual bool HandleInputTag(FGameplayTag InputTag, ETriggerEvent TriggerEvent);
|
||||
|
||||
/** @brief 霈曄蔭蝘餃𢆡<E9A483>誩㦛嚗<E3A69B>僎<EFBFBD>典恥<E585B8>瑞垢霂瑟<E99C82><E7919F>滚𦛚蝡臬<E89DA1>甇乓<E79487>?*/
|
||||
/**
|
||||
* @brief 设置角色移动意图,并在客户端请求服务端同步。
|
||||
* @param NewMovementIntent 世界空间移动意图。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Movement")
|
||||
virtual void SetMovementIntent(FVector NewMovementIntent);
|
||||
|
||||
/** @brief 霈曄蔭憿寧𤌍蝥扳<E89DA5><E689B3>㛖𤌍<E39B96><F0A48C8D><EFBFBD>?*/
|
||||
/**
|
||||
* @brief 设置项目级战斗目标。
|
||||
* @param NewCombatTargetActor 新的战斗目标 Actor。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Combat")
|
||||
virtual void SetCombatTargetActor(AActor* NewCombatTargetActor);
|
||||
|
||||
/** @brief 霂瑟<E99C82>撘<EFBFBD>憪衤漱鈭鉝<E988AD>?*/
|
||||
/**
|
||||
* @brief 请求开始交互。
|
||||
* @param OptionIndex 交互选项索引。
|
||||
* @return 交互请求被接受时返回 true。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Interaction")
|
||||
virtual bool RequestInteraction(int32 OptionIndex = 0);
|
||||
|
||||
/** @brief 霂瑟<E99C82>銝<EFBFBD>甈⊥<E79488>批朖<E689B9>嗡漱鈭鉝<E988AD>?*/
|
||||
/**
|
||||
* @brief 请求执行一次即时交互。
|
||||
* @param OptionIndex 交互选项索引。
|
||||
* @return 交互请求被接受时返回 true。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Interaction")
|
||||
virtual bool RequestInstantInteraction(int32 OptionIndex = 0);
|
||||
|
||||
/** @brief 霂瑟<EFBFBD>蝏𤘪<EFBFBD>敶枏<EFBFBD>鈭支<EFBFBD><EFBFBD>?*/
|
||||
/** @brief 请求结束当前交互。 */
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Interaction")
|
||||
virtual void EndInteraction();
|
||||
|
||||
/** @brief 霂瑟<E99C82><E7919F><EFBFBD>揢敶枏<E695B6><E69E8F>臭漱鈭鍦笆鞊~<E99E8A>?*/
|
||||
/**
|
||||
* @brief 请求切换当前可交互目标。
|
||||
* @param bNext 为 true 时切到下一个目标,否则切到上一个目标。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, Category="PHY|Character|Interaction")
|
||||
virtual void CycleInteractionTarget(bool bNext);
|
||||
|
||||
/** @brief 获取角色状态组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UPHYCharacterStateComponent* GetCharacterStateComponent() const { return CharacterStateComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> GCS <EFBFBD>䀹<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取 GCS 战斗系统组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UGCS_CombatSystemComponent* GetCombatSystemComponent() const { return CombatSystemComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> GCS <EFBFBD>格<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取 GCS 目标系统组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UGCS_TargetingSystemComponent* GetTargetingSystemComponent() const { return TargetingSystemComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> GGS 鈭支<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取 GGS 交互系统组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UGGS_InteractionSystemComponent* GetInteractionSystemComponent() const { return InteractionSystemComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> GGS 撣<EFBFBD><EFBFBD>憡<EFBFBD><EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief 获取 GGS 布娃娃组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UGGS_RagdollComponent* GetRagdollComponent() const { return RagdollComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>銝𠹺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦦵<EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief 获取 GES 上下文效果组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character")
|
||||
UGES_ContextEffectComponent* GetContextEffectComponent() const { return ContextEffectComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>閫坿𠧧 Mesh Bridge 蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取角色 Mesh Bridge 组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Animation")
|
||||
UPHYCharacterMeshBridgeComponent* GetMeshBridgeComponent() const { return MeshBridgeComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> SLS 閫坿𠧧餈𣂼𢆡蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取 SLS 角色移动组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Locomotion")
|
||||
USLSCharacterMovementComponent* GetSLSCharacterMovementComponent() const;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> SLS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>亙藁蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief 获取 SLS 集成入口组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Locomotion")
|
||||
USLSIntegrationComponent* GetSLSIntegrationComponent() const { return SLSIntegrationComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD> GenericGameSystem <EFBFBD>舫<EFBFBD>厰<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief 获取 GenericGameSystem 可选集成入口组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Locomotion")
|
||||
UActorComponent* GetGenericIntegrationComponent() const { return GenericIntegrationComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD><EFBFBD>曄內撅?Mesh 蝏<>辣嚗諹<E59A97>銝𡁜<E98A9D>憭𤥁<E686AD> Mesh 摨𥪜<E691A8><F0A5AA9C>典<EFBFBD>霂亦<E99C82>隞嗚<E99A9E>?*/
|
||||
/** @brief 获取显示层 Mesh 组件,职业和外观 Mesh 应当应用到该组件。 */
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Character|Animation")
|
||||
USkeletalMeshComponent* GetDisplayMeshComponent() const { return DisplayMeshComponent; }
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>敶枏<EFBFBD><EFBFBD>䀹<EFBFBD><EFBFBD>格<EFBFBD> Actor<EFBFBD>?*/
|
||||
/** @brief 获取当前战斗目标 Actor。 */
|
||||
virtual AActor* GetCombatTargetActor_Implementation() const override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>餈𧼮稬摰帋<EFBFBD>銵剁<EFBFBD>擐𡝗<EFBFBD>撉冽沲暺䁅恕銝滨<EFBFBD>摰朞”<EFBFBD>?*/
|
||||
/** @brief 获取连击定义表,首期骨架默认不绑定表。 */
|
||||
virtual const UDataTable* GetComboDefinitionTable_Implementation() const override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>敶枏<EFBFBD><EFBFBD>䀹<EFBFBD><EFBFBD>格<EFBFBD><EFBFBD>箸艶撖寡情<EFBFBD>?*/
|
||||
/** @brief 获取当前战斗目标场景对象。 */
|
||||
virtual USceneComponent* GetCombatTargetObject_Implementation() const override;
|
||||
|
||||
/** @brief <20>亥砭<E4BAA5>賢<EFBFBD><E8B3A2>其<EFBFBD>嚗屸<E59A97><E5B1B8>罸爸<E7BDB8>園<EFBFBD>霈方<E99C88><E696B9>䂿征<E482BF>?*/
|
||||
/**
|
||||
* @brief 查询可用 Ability 动作,首期骨架默认返回空。
|
||||
* @param AbilityTags 能力标签集合。
|
||||
* @param SourceTags 来源标签集合。
|
||||
* @param TargetTags 目标标签集合。
|
||||
* @param AbilityActions 输出的能力动作列表。
|
||||
* @return 找到可用动作时返回 true。
|
||||
*/
|
||||
virtual bool QueryAbilityActions_Implementation(FGameplayTagContainer AbilityTags, FGameplayTagContainer SourceTags, FGameplayTagContainer TargetTags, TArray<FGCS_AbilityAction>& AbilityActions) override;
|
||||
|
||||
/** @brief <20>劐<EFBFBD>銝𧢲<E98A9D><F0A7A2B2>亥砭<E4BAA5>賢<EFBFBD><E8B3A2>其<EFBFBD>嚗屸<E59A97><E5B1B8>罸爸<E7BDB8>園<EFBFBD>霈方<E99C88><E696B9>䂿征<E482BF>?*/
|
||||
/**
|
||||
* @brief 按上下文查询可用 Ability 动作,首期骨架默认返回空。
|
||||
* @param Context 查询上下文对象。
|
||||
* @param AbilityTags 能力标签集合。
|
||||
* @param SourceTags 来源标签集合。
|
||||
* @param TargetTags 目标标签集合。
|
||||
* @param AbilityActions 输出的能力动作列表。
|
||||
* @return 找到可用动作时返回 true。
|
||||
*/
|
||||
virtual bool QueryAbilityActionsByContext_Implementation(UObject* Context, FGameplayTagContainer AbilityTags, FGameplayTagContainer SourceTags, FGameplayTagContainer TargetTags, TArray<FGCS_AbilityAction>& AbilityActions) override;
|
||||
|
||||
/** @brief <20>?Tag <20>亥砭敶枏<E695B6>甇血膥<E8A180>?*/
|
||||
/**
|
||||
* @brief 按 Tag 查询当前武器。
|
||||
* @param Query 用于匹配武器标签的查询。
|
||||
* @return 匹配到的武器对象。
|
||||
*/
|
||||
virtual UObject* QueryWeapon_Implementation(const FGameplayTagQuery& Query) const override;
|
||||
|
||||
/** @brief 霈曄蔭<EFBFBD>贝蓮璅∪<EFBFBD><EFBFBD>?*/
|
||||
/** @brief 设置旋转模式。 */
|
||||
virtual void SetRotationMode_Implementation(FGameplayTag NewRotationMode) override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD><EFBFBD>贝蓮璅∪<EFBFBD><EFBFBD>?*/
|
||||
/** @brief 获取旋转模式。 */
|
||||
virtual FGameplayTag GetRotationMode_Implementation() const override;
|
||||
|
||||
/** @brief 霈曄蔭蝘餃𢆡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 设置移动集合。 */
|
||||
virtual void SetMovementSet_Implementation(FGameplayTag NewMovementSet) override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>蝘餃𢆡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 获取移动集合。 */
|
||||
virtual FGameplayTag GetMovementSet_Implementation() const override;
|
||||
|
||||
/** @brief 霈曄蔭蝘餃𢆡<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 设置移动状态。 */
|
||||
virtual void SetMovementState_Implementation(FGameplayTag NewMovementState) override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>蝘餃𢆡<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 获取移动状态。 */
|
||||
virtual FGameplayTag GetMovementState_Implementation() const override;
|
||||
|
||||
/** @brief 撘<EFBFBD>憪𧢲香鈭⊥<EFBFBD>蝔卝<EFBFBD>?*/
|
||||
/** @brief 开始死亡流程。 */
|
||||
virtual void StartDeath_Implementation() override;
|
||||
|
||||
/** @brief 摰峕<EFBFBD>甇颱滿瘚<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 完成死亡流程。 */
|
||||
virtual void FinishDeath_Implementation() override;
|
||||
|
||||
/** @brief <EFBFBD>亥砭閫坿𠧧<EFBFBD>臬炏甇颱滿<EFBFBD>?*/
|
||||
/** @brief 查询角色是否死亡。 */
|
||||
virtual bool IsDead_Implementation() const override;
|
||||
|
||||
/** @brief <EFBFBD>瑕<EFBFBD>蝘餃𢆡<EFBFBD>誩㦛<EFBFBD>?*/
|
||||
/** @brief 获取移动意图。 */
|
||||
virtual FVector GetMovementIntent_Implementation() const override;
|
||||
|
||||
/** @brief <20>瑕<EFBFBD>敶枏<E695B6>甇血膥<E8A180>?*/
|
||||
/**
|
||||
* @brief 获取当前武器。
|
||||
* @param Context 可选查询上下文。
|
||||
* @return 当前武器对象。
|
||||
*/
|
||||
virtual UObject* GetCurrentWeapon_Implementation(UObject* Context = nullptr) const override;
|
||||
|
||||
/** @brief 霈曄蔭敶枏<EFBFBD>甇血膥<EFBFBD>?*/
|
||||
/** @brief 设置当前武器。 */
|
||||
virtual void SetCurrentWeapon_Implementation(UObject* Weapon) override;
|
||||
|
||||
/** @brief <20>瑕<EFBFBD><E79195><EFBFBD><EFBFBD> Socket <20><>㮾撖孵<E69296><E5ADB5>U<EFBFBD>?*/
|
||||
/**
|
||||
* @brief 获取指定 Socket 的相对变换。
|
||||
* @param InSkeletalMeshComponent 用于查找 Socket 的骨骼网格组件。
|
||||
* @param StaticMesh 静态网格参考。
|
||||
* @param SkeletalMesh 骨骼网格参考。
|
||||
* @param SocketName Socket 名称。
|
||||
* @param OutTransform 输出相对变换。
|
||||
* @return 成功取得变换时返回 true。
|
||||
*/
|
||||
virtual bool GetRelativeTransformToSocket_Implementation(const USkeletalMeshComponent* InSkeletalMeshComponent, const UStaticMesh* StaticMesh, const USkeletalMesh* SkeletalMesh, FName SocketName, FTransform& OutTransform) const override;
|
||||
|
||||
protected:
|
||||
/** @brief 撠<><E692A0><EFBFBD>?Tag <20>惩<EFBFBD>銝?Ability Tag<61>?*/
|
||||
/**
|
||||
* @brief 将输入 Tag 映射为 Ability Tag。
|
||||
* @param InputTag 输入系统提供的 Tag。
|
||||
* @return 对应的 Ability Tag。
|
||||
*/
|
||||
virtual FGameplayTag GetAbilityTagForInputTag(FGameplayTag InputTag) const;
|
||||
|
||||
/** @brief 摨𠉛鍂 Character <EFBFBD>滨蔭暺䁅恕<EFBFBD>潦<EFBFBD>?*/
|
||||
/** @brief 应用 Character 配置默认值。 */
|
||||
virtual void ApplyCharacterSettings();
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡臬<EFBFBD>甇亦宏<EFBFBD>冽<EFBFBD><EFBFBD>整<EFBFBD>?*/
|
||||
/** @brief 服务端同步移动意图。 */
|
||||
UFUNCTION(Server, Unreliable)
|
||||
void ServerSetMovementIntent(FVector NewMovementIntent);
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡航挽蝵格<EFBFBD><EFBFBD>㛖𤌍<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 服务端设置战斗目标。 */
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ServerSetCombatTargetActor(AActor* NewCombatTargetActor);
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡舀<EFBFBD>銵<EFBFBD><EFBFBD>憪衤漱鈭鉝<EFBFBD>?*/
|
||||
/** @brief 服务端执行开始交互。 */
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ServerRequestInteraction(int32 OptionIndex);
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡舀<EFBFBD>銵<EFBFBD>朖<EFBFBD>嗡漱鈭鉝<EFBFBD>?*/
|
||||
/** @brief 服务端执行即时交互。 */
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ServerRequestInstantInteraction(int32 OptionIndex);
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡舐<EFBFBD><EFBFBD>煺漱鈭鉝<EFBFBD>?*/
|
||||
/** @brief 服务端结束交互。 */
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ServerEndInteraction();
|
||||
|
||||
/** @brief <EFBFBD>滚𦛚蝡臬<EFBFBD><EFBFBD>V漱鈭垍𤌍<EFBFBD><EFBFBD><EFBFBD>?*/
|
||||
/** @brief 服务端切换交互目标。 */
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ServerCycleInteractionTarget(bool bNext);
|
||||
|
||||
/** @brief 閫坿𠧧<EFBFBD>曹澈<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief 角色共享状态组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UPHYCharacterStateComponent> CharacterStateComponent;
|
||||
|
||||
/** @brief GCS <EFBFBD>䀹<EFBFBD>蝟餌<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief GCS 战斗系统组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGCS_CombatSystemComponent> CombatSystemComponent;
|
||||
|
||||
/** @brief GCS <EFBFBD>格<EFBFBD>蝟餌<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief GCS 目标系统组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGCS_TargetingSystemComponent> TargetingSystemComponent;
|
||||
|
||||
/** @brief GCS <EFBFBD>䀹<EFBFBD><EFBFBD>煺<EFBFBD>隞<EFBFBD><EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief GCS 战斗队伍代理组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGCS_CombatTeamAgentComponent> CombatTeamAgentComponent;
|
||||
|
||||
/** @brief GGS 鈭支<EFBFBD>蝟餌<EFBFBD>蝏<EFBFBD>辣<EFBFBD>?*/
|
||||
/** @brief GGS 交互系统组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGGS_InteractionSystemComponent> InteractionSystemComponent;
|
||||
|
||||
/** @brief GGS 撣<EFBFBD><EFBFBD>憡<EFBFBD><EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief GGS 布娃娃组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGGS_RagdollComponent> RagdollComponent;
|
||||
|
||||
/** @brief GES 銝𠹺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦦵<EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief GES 上下文效果组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character")
|
||||
TObjectPtr<UGES_ContextEffectComponent> ContextEffectComponent;
|
||||
|
||||
/** @brief 餈𣂼𢆡皞?Mesh 銝擧遬蝷箏<E89DB7> Mesh <20><>‘<EFBFBD>亦<EFBFBD>隞嗚<E99A9E>?*/
|
||||
/** @brief 运动源 Mesh 与显示层 Mesh 的桥接组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character|Animation")
|
||||
TObjectPtr<UPHYCharacterMeshBridgeComponent> MeshBridgeComponent;
|
||||
|
||||
/** @brief SLS <EFBFBD>雴辣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>亙藁蝏<EFBFBD>辣嚗𣬚眏餈𣂼𢆡撅<EFBFBD><EFBFBD>銝剜𦻖<EFBFBD>乓<EFBFBD>?*/
|
||||
/** @brief SLS 插件集成入口组件,由运动层集中接入。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character|Locomotion")
|
||||
TObjectPtr<USLSIntegrationComponent> SLSIntegrationComponent;
|
||||
|
||||
/** @brief GenericGameSystem <EFBFBD>舫<EFBFBD>厰<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞嗚<EFBFBD>?*/
|
||||
/** @brief GenericGameSystem 可选集成入口组件。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character|Locomotion")
|
||||
TObjectPtr<UActorComponent> GenericIntegrationComponent;
|
||||
|
||||
/** @brief <EFBFBD>曄內撅?Mesh 蝏<>辣嚗峕㗁頧質<E9A0A7>銝𡁜<E98A9D>憭𤥁<E686AD> Mesh<EFBFBD>?*/
|
||||
/** @brief 显示层 Mesh 组件,承载职业和外观 Mesh。 */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="PHY|Character|Animation")
|
||||
TObjectPtr<USkeletalMeshComponent> DisplayMeshComponent;
|
||||
|
||||
/** @brief 敶枏<EFBFBD> Avatar 蝻枏<EFBFBD><EFBFBD>?ASC嚗𣬚焵摰嗆䔉<E59786>?PlayerState嚗淾I <20>亥䌊<E4BAA5>芾澈<E88ABE>?*/
|
||||
/** @brief 当前 Avatar 缓存的 ASC,玩家来自 PlayerState,AI 来自自身。 */
|
||||
UPROPERTY(Transient)
|
||||
TObjectPtr<UAbilitySystemComponent> CachedAbilitySystemComponent;
|
||||
|
||||
/** @brief ASC <EFBFBD>臬炏撌脩<EFBFBD><EFBFBD>嘥<EFBFBD><EFBFBD>碶蛹敶枏<EFBFBD> Avatar<EFBFBD>?*/
|
||||
/** @brief ASC 是否已经初始化为当前 Avatar。 */
|
||||
UPROPERTY(Transient)
|
||||
bool bAbilitySystemReady = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user