第一次提交
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameplayAbilitySpecHandle.h"
|
||||
#include "GameplayTagContainer.h"
|
||||
#include "Abilities/GameplayAbilityTypes.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "GGA_GameplayAbilityFunctionLibrary.generated.h"
|
||||
|
||||
class UGameplayAbility;
|
||||
|
||||
/**
|
||||
* Blueprint function library for gameplay ability operations.
|
||||
* 用于游戏技能操作的蓝图函数库。
|
||||
*/
|
||||
UCLASS()
|
||||
class GENERICGAMEPLAYABILITIES_API UGGA_GameplayAbilityFunctionLibrary : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
/**
|
||||
* Checks if an ability spec handle is valid.
|
||||
* 检查技能规格句柄是否有效。
|
||||
* @param Handle The ability spec handle. 技能规格句柄。
|
||||
* @return True if the handle is valid, false otherwise. 如果句柄有效则返回true,否则返回false。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility")
|
||||
static bool IsAbilitySpecHandleValid(FGameplayAbilitySpecHandle Handle);
|
||||
|
||||
/**
|
||||
* Retrieves the default object for an ability class.
|
||||
* 获取技能类的默认对象。
|
||||
* @param AbilityClass The ability class. 技能类。
|
||||
* @return The default object for the ability class. 技能类的默认对象。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility")
|
||||
static const UGameplayAbility* GetAbilityCDOFromClass(TSubclassOf<UGameplayAbility> AbilityClass);
|
||||
|
||||
/**
|
||||
* Retrieves the current ability spec handle.
|
||||
* 获取当前技能规格句柄。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return The ability spec handle. 技能规格句柄。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category= "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static FGameplayAbilitySpecHandle GetCurrentAbilitySpecHandle(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Checks if an ability is currently active.
|
||||
* 检查技能是否当前激活。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return True if the ability is active, false otherwise. 如果技能激活则返回true,否则返回false。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category= "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static bool IsAbilityActive(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Retrieves the replication policy for an ability.
|
||||
* 获取技能的复制策略。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return The replication policy. 复制策略。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category= "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static EGameplayAbilityReplicationPolicy::Type GetReplicationPolicy(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Retrieves the instancing policy for an ability.
|
||||
* 获取技能的实例化策略。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return The instancing policy. 实例化策略。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category= "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static EGameplayAbilityInstancingPolicy::Type GetInstancingPolicy(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Retrieves the tags associated with an ability.
|
||||
* 获取与技能关联的标签。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return The gameplay tag container. 游戏标签容器。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static FGameplayTagContainer GetAbilityTags(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Checks if the ability is running on a predicting client.
|
||||
* 检查技能是否在预测客户端上运行。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return True if running on a predicting client, false otherwise. 如果在预测客户端上运行则返回true,否则返回false。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static bool IsPredictingClient(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Checks if the ability is for a remote client.
|
||||
* 检查技能是否用于远程客户端。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return True if for a remote client, false otherwise. 如果用于远程客户端则返回true,否则返回false。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static bool IsForRemoteClient(const UGameplayAbility* Ability);
|
||||
|
||||
/**
|
||||
* Checks if the ability has authority or a valid prediction key.
|
||||
* 检查技能是否具有权限或有效预测键。
|
||||
* @param Ability The gameplay ability. 游戏技能。
|
||||
* @return True if it has authority or a valid prediction key, false otherwise. 如果具有权限或有效预测键则返回true,否则返回false。
|
||||
*/
|
||||
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "GGA|GameplayAbility", meta = (DefaultToSelf="Ability"))
|
||||
static bool HasAuthorityOrPredictionKey(const UGameplayAbility* Ability);
|
||||
};
|
||||
Reference in New Issue
Block a user