Refactor GameplayTag documentation and implementation
- Updated references from GI_GameTagRegistry to DA_GameTagRegistry in architecture overview and implementation patterns documentation. - Added new Blueprint specification for GI_StarterGameInstance, detailing its purpose, configuration, and integration pattern. - Introduced DA_GameTagRegistry Blueprint specification, centralizing GameplayTag management and providing functions for tag validation and logging. - Created documentation for the Starter GameInstance, outlining its role in the project setup and how other systems can integrate with it.
This commit is contained in:
@@ -12,7 +12,7 @@ This document catalogs all UE5 engine functions that are C++ only (not exposed t
|
||||
|
||||
**Engine Function:** `UGameplayTagsManager::Get().RequestAllGameplayTags()`
|
||||
**UE5 Node:** Does NOT exist in Blueprint
|
||||
**Files Affected:** `01_GI_GameTagRegistry.md`, any system that needs to enumerate all tags
|
||||
**Files Affected:** `01_DA_GameTagRegistry.md`, any system that needs to enumerate all tags
|
||||
|
||||
**Blueprint Workaround — Data Table Proxy (Multi-Table):**
|
||||
|
||||
@@ -72,7 +72,7 @@ OR create a Blueprint Macro Library with a macro that wraps the subsystem lookup
|
||||
### 3.1 `OnAssetLoaded` / `BeginPlay` on Data Assets (Not Available)
|
||||
|
||||
**Engine Behavior:** `UPrimaryDataAsset` does not have `BeginPlay`, `Tick`, or event graphs. It's a pure data container.
|
||||
**Files Affected:** `01_GI_GameTagRegistry.md`, all DA_* specs
|
||||
**Files Affected:** `01_DA_GameTagRegistry.md`, all DA_* specs
|
||||
|
||||
**Blueprint Workaround:** Move initialization and validation logic to an owning system:
|
||||
|
||||
|
||||
@@ -452,7 +452,7 @@ HasActionFlag(Tag: GameplayTag) → Boolean
|
||||
4. Populate default `GatingRules` from `DA_StateGatingTable` if assigned
|
||||
5. Bind to `GI_GameFramework.OnGamePhaseChanged` (for game-phase-gated rules)
|
||||
6. Bind to `BPC_HealthSystem.OnDeath` (auto-call `ForceStateChange(Dead)`)
|
||||
7. Register with `GI_GameTagRegistry` for tag-based queries
|
||||
7. Register with `DA_GameTagRegistry` for tag-based queries
|
||||
8. Bind to `BPC_HealthSystem.OnHealthChanged` → call `EvaluateInjuryState()`
|
||||
9. Bind to `BPC_StressSystem.OnStressTierChanged` → recalculate heart rate
|
||||
10. Bind to `BPC_StaminaSystem.OnExhaustionStateChanged` → recalculate heart rate
|
||||
|
||||
@@ -88,7 +88,7 @@ This means UI widgets, audio, and effects need **zero changes** for multiplayer
|
||||
| `GI_GameFramework` | Server sets GamePhase; clients read | Dispatchers broadcast to all |
|
||||
| `GM_CoreGameMode` | Server-only; spawns players, routes death | Extends replicated GameMode |
|
||||
| `GS_CoreGameState` | Server sets all state | **Full replication** — 5 vars with OnRep |
|
||||
| `GI_GameTagRegistry` | Read-only on all | Identical on all clients (ini-based) |
|
||||
| `DA_GameTagRegistry` | Read-only on all | Identical on all clients (ini-based) |
|
||||
| `FL_GameUtilities` | Static; no state | No replication needed |
|
||||
| `I_InterfaceLibrary` | Contracts; no state | No replication needed |
|
||||
| `DA_ItemData` | Read-only config | Identical on all clients |
|
||||
|
||||
Reference in New Issue
Block a user