- Implemented DA_EquipmentConfig for managing equipment resistances, durability, and weight. - Created DA_ItemData to serve as a base item data asset with various item types and properties. - Introduced BPC_HealthSystem for managing player health and death events. - Added BPC_MovementStateSystem to handle player movement modes with event delegation. - Developed BPC_StaminaSystem to track player stamina and exhaustion states. - Established BPC_StateManager as a central authority for managing player action states and gating. - Created BPC_StressSystem to monitor and respond to player stress levels. - Implemented PC_CoreController and PS_CorePlayerState for player controller and state management. - Developed SS_SaveManager for save/load functionality with slot management and serialization. - Introduced DA_StateGatingTable for defining action gating rules based on gameplay tags. - Added BPC_DamageReceptionSystem to process incoming damage and apply resistance calculations. - Implemented BPC_HitReactionSystem for managing hit reactions based on damage received. - Created BPC_ShieldDefenseSystem to manage shield health and blocking mechanics. - Added PG_FrameworkEditor.Target.cs for editor build configuration.
35 lines
822 B
C++
35 lines
822 B
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Engine/DataAsset.h"
|
|
#include "GameplayTagContainer.h"
|
|
#include "DA_StateGatingTable.generated.h"
|
|
|
|
USTRUCT(BlueprintType)
|
|
struct FRAMEWORK_API FStateGatingRule
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
FGameplayTag ActionTag;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
FGameplayTag BlockedByState;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
bool bIsBlocked = true;
|
|
};
|
|
|
|
UCLASS(BlueprintType)
|
|
class FRAMEWORK_API UDA_StateGatingTable : public UPrimaryDataAsset
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Gating")
|
|
TArray<FStateGatingRule> GatingRules;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Gating")
|
|
bool IsActionGated(FGameplayTag ActionTag, FGameplayTag CurrentState) const;
|
|
};
|