Add core gameplay systems and data assets for player mechanics

- 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.
This commit is contained in:
Lefteris Notas
2026-05-21 14:38:30 +03:00
parent a145ae9373
commit f986343325
50 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
// // Copyright Ngonart OU. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class PG_FrameworkTarget : TargetRules
{
public PG_FrameworkTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.V6;
ExtraModuleNames.AddRange( new string[] { "PG_Framework" } );
}
}

View File

@@ -0,0 +1,44 @@
// // Copyright Ngonart OU. All Rights Reserved.
using UnrealBuildTool;
public class PG_Framework : ModuleRules
{
public PG_Framework(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"GameplayTags",
"EnhancedInput",
"InputCore",
"UMG",
"Slate",
"SlateCore",
"AIModule",
"NavigationSystem",
"MotionWarping",
"PhysicsCore",
"DeveloperSettings",
"MetasoundEngine",
});
PrivateDependencyModuleNames.AddRange(new string[]
{
"GameplayTasks",
});
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}

View File

@@ -0,0 +1,6 @@
// // Copyright Ngonart OU. All Rights Reserved.
#include "PG_Framework.h"
#include "Modules/ModuleManager.h"
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, PG_Framework, "PG_Framework" );

View File

@@ -0,0 +1,6 @@
// // Copyright Ngonart OU. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"

View File

@@ -0,0 +1,15 @@
// // Copyright Ngonart OU. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class PG_FrameworkEditorTarget : TargetRules
{
public PG_FrameworkEditorTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.V6;
ExtraModuleNames.AddRange( new string[] { "PG_Framework" } );
}
}