Add asset creation sheets for various systems and UI components

- Created Save/Load & Death Loop asset sheet detailing checkpoint, death handling, and respawn systems.
- Added UI widget creation sheets for pause menu, settings menu, inventory, journal viewer, objective display, notification toast, screen effect controller, accessibility UI, diegetic HUD frame, menu flow controller, and credits screen.
- Implemented HUD controller and interaction prompt display assets with detailed wiring instructions.
- Established narrative systems asset sheet including components for narrative state, objectives, dialogue playback, and branching consequences.
- Developed weapons, AI, and adaptive systems asset creation sheet outlining weapon base, enemy AI components, and adaptive gameplay mechanics.
- Compiled meta, settings, and polish asset creation sheet covering progress tracking, achievement systems, accessibility settings, and various polish components.
- Defined input actions and mapping contexts for enhanced input system, including gameplay actions and context priorities.
- Created state management assets including enums, structs, data asset, and state manager component for action gating and state transitions.
This commit is contained in:
Lefteris Notas
2026-05-20 15:34:06 +03:00
parent 4a7c871f29
commit 3ca87a7893
19 changed files with 1985 additions and 0 deletions

View File

@@ -0,0 +1,138 @@
# BPC_StaminaSystem / BPC_StressSystem / BPC_MovementStateSystem
# BPC_HidingSystem / BPC_EmbodimentSystem / BPC_CameraStateLayer / BPC_PlayerMetricsTracker
#
# Player Component Assets — Quick Creation Sheet (7 components)
> **UE5 Path:** `Content/Framework/Player/`
> **Parent Class:** `ActorComponent`
> **Attach To:** Player pawn
---
## Quick Creation — All 7 Components
For each component below:
1. Content Browser → `Content/Framework/Player/`
2. Right-click → **Blueprint Class** → Parent: `ActorComponent`
3. Name: as listed
4. Attach to player pawn Blueprint via **Add Component**
---
## BPC_StaminaSystem
| Variable | Type | Default |
|----------|------|---------|
| `MaxStamina` | Float | `100.0` |
| `CurrentStamina` | Float | `100.0` |
| `SprintDrainRate` | Float | `10.0` |
| `StaminaRegenRate` | Float | `5.0` |
| `ExhaustionThreshold` | Float | `10.0` |
| `bExhausted` | Boolean | `false` |
**Key Functions:** `ConsumeStamina(Amount)`, `IsExhausted()`
**Dispatchers:** `OnStaminaChanged`, `OnExhaustionStateChanged`
---
## BPC_StressSystem
| Variable | Type | Default |
|----------|------|---------|
| `CurrentStress` | Float | `0.0` |
| `StressDecayRate` | Float | `1.0` |
| `StressTier` | Enum (E_PlayerVitalSignals) | `Calm` |
**Key Functions:** `AddStress(Amount, Source)`, `GetStressTier()`
**Dispatchers:** `OnStressChanged`, `OnStressTierChanged(Tier)`
**Stress Tiers:** Calm → Tense → Anxious → Fearful → Catatonic
---
## BPC_MovementStateSystem
| Variable | Type | Default |
|----------|------|---------|
| `CurrentMovementMode` | GameplayTag | `Framework.Player.Movement.Standing` |
| `CurrentPosture` | GameplayTag | `Framework.Player.Posture.Standing` |
| `bIsSprinting` | Boolean | `false` |
| `bIsCrouching` | Boolean | `false` |
**Key Functions:** `SetMovementMode(Tag)`, `SetPosture(Tag)`, `GetMovementIntensity()`
**Dispatchers:** `OnMovementModeChanged`, `OnPostureChanged`
**GASP Liaison:** This component updates GASP variables — never modify GASP directly.
---
## BPC_HidingSystem
| Variable | Type | Default |
|----------|------|---------|
| `CurrentHideState` | GameplayTag | `Framework.Player.State.Exposed` |
| `bIsPeeking` | Boolean | `false` |
| `bIsHoldingBreath` | Boolean | `false` |
| `BreathHoldMax` | Float | `8.0` |
| `BreathHoldCurrent` | Float | `8.0` |
**Key Functions:** `EnterHide(HidingSpot)`, `ExitHide()`, `Peek()`, `HoldBreath()`
**Dispatchers:** `OnHideStateChanged`, `OnBreathHoldChanged`
---
## BPC_EmbodimentSystem
| Variable | Type | Default |
|----------|------|---------|
| `bFirstPersonBodyVisible` | Boolean | `true` |
| `bArmsOnlyMode` | Boolean | `false` |
| `BodyMesh` | SkeletalMesh | (assign) |
**Key Functions:** `SetBodyVisibility(bVisible)`, `SetArmsOnlyMode(bActive)`
**Dispatchers:** `OnEmbodimentModeChanged`
---
## BPC_CameraStateLayer
| Variable | Type | Default |
|----------|------|---------|
| `BaseFOV` | Float | `90.0` |
| `CurrentFOV` | Float | `90.0` |
| `FOVSmoothSpeed` | Float | `5.0` |
| `CameraOffset` | Vector | `(0,0,0)` |
**Key Functions:** `SetFOVOverride(Tag, FOV)`, `ClearFOVOverride(Tag)`, `SetCameraOffset(Tag, Offset)`
**Dispatchers:** `OnFOVChanged`, `OnCameraOffsetChanged`
---
## BPC_PlayerMetricsTracker
| Variable | Type | Default |
|----------|------|---------|
| `TotalShotsFired` | Integer | `0` |
| `TotalShotsHit` | Integer | `0` |
| `TotalDeaths` | Integer | `0` |
| `TotalKills` | Integer | `0` |
| `Accuracy` | Float | `0.0` |
| `KDRatio` | Float | `0.0` |
**Key Functions:** `RecordShot(bHit)`, `RecordDeath()`, `RecordKill()`, `GetAccuracy()`
**Dispatchers:** `OnMetricsUpdated`
---
## Test All Components
- [ ] All 7 components visible on player pawn
- [ ] BeginPlay sets default values correctly
- [ ] Each dispatcher fires when its state changes
- [ ] Components don't conflict (Stamina drain doesn't affect Stress directly — let StateManager coordinate)