第一次提交

This commit is contained in:
不明不惑
2026-03-03 01:23:02 +08:00
commit 3e434877e8
1053 changed files with 102411 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GCS_CombatStructLibrary.h"
#include "UObject/Object.h"
#include "GCS_GameplayEffectContext.generated.h"
/**
* The Combat related data which was carried and pass around within gameplay effect context, as one of the gameplay effect context payload.
* 战斗相关数据,在游戏效果上下文中被携带和传递,作为游戏效果上下文数据之一。
*/
USTRUCT(BlueprintType)
struct GENERICCOMBATSYSTEM_API FGCS_ContextPayload_Combat
{
GENERATED_BODY()
void SetTaggedValue(const FGameplayTag& Tag, float NewValue);
float GetTaggedValue(const FGameplayTag& Tag) const;
/**
* Indicate the effect spec owning this context was Predictively executed.
* 表示拥有此上下文的效果实例是以客户端预测方式执行的。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS")
bool bIsPredictingContext{false};
UPROPERTY()
FPredictionKey PredictionKey;
/**
* Attack definition data table.
* 攻击定义数据表。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS", meta=(RequiredAssetDataTags = "RowStructure=/Script/GenericCombatSystem.GCS_AttackDefinition"))
TObjectPtr<const UDataTable> AtkDataTable{nullptr};
/**
* Row name in the attack definition table.
* 攻击定义表中的行名。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS")
FName AtkRowName{NAME_None};
/**
* Bullet definition data table.
* 子弹定义数据表。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS", meta=(RequiredAssetDataTags = "RowStructure=/Script/GenericCombatSystem.GCS_BulletDefinition"))
TObjectPtr<const UDataTable> BulletDataTable{nullptr};
/**
* Row name in the bullet definition table.
* 子弹定义表中的行名。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS")
FName BulletRowName{NAME_None};
/**
* The tags added during gameplay effect apply(coming from MMC,or Execution).
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS")
FGameplayTagContainer DynamicTags;
/**
* Array of tagged values associated with the combat process.
* 与战斗过程关联的标记值数组。
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GCS")
TArray<FGCS_TaggedValue> TaggedValues;
};