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:
@@ -8,7 +8,7 @@
|
||||
|
||||
| # | System | Asset Type | Role |
|
||||
|---|--------|-----------|------|
|
||||
| 01 | `GI_GameTagRegistry` | Data Asset | Central GameplayTag namespace registry & validation |
|
||||
| 01 | `DA_GameTagRegistry` | Data Asset | Central GameplayTag namespace registry & validation |
|
||||
| 02 | `FL_GameUtilities` | Function Library | Static utility functions (safe casts, math, tags, debug) |
|
||||
| 03 | `I_InterfaceLibrary` | Interface Collection | All 9 framework interfaces for decoupled communication |
|
||||
| 04 | `GI_GameFramework` | Game Instance | Application kernel; owns subsystems, manages game phases |
|
||||
@@ -42,7 +42,7 @@
|
||||
│ ├─► Bind to GI_GameFramework.OnGamePhaseChanged │
|
||||
│ └─► Tick: accumulate ElapsedPlayTime when InGame │
|
||||
│ │
|
||||
│ ALL SYSTEMS query GameplayTags via GI_GameTagRegistry │
|
||||
│ ALL SYSTEMS query GameplayTags via DA_GameTagRegistry │
|
||||
│ ALL SYSTEMS use FL_GameUtilities for safe casts & logging │
|
||||
│ ALL SYSTEMS communicate via I_InterfaceLibrary interfaces │
|
||||
│ ALL ITEMS are defined as DA_ItemData Data Assets │
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 01 — GI_GameTagRegistry: Central GameplayTag Registry
|
||||
## 01 — DA_GameTagRegistry: Central GameplayTag Registry
|
||||
|
||||
**What It Does:** This is a **documentation anchor** Data Asset, not a runtime tag database. The actual GameplayTag definitions live in `DefaultGameplayTags.ini`, but this asset serves as the single place where all framework tag namespaces are documented and validated. Every system that uses GameplayTags references them from this registry's documented namespaces.
|
||||
|
||||
@@ -298,7 +298,7 @@ MainMenu → Loading → InGame ⇄ Paused
|
||||
**How It Works Internally:**
|
||||
|
||||
**Core Properties (every item has these):**
|
||||
- `ItemTag` (GameplayTag) — unique identifier, must be registered in `GI_GameTagRegistry`
|
||||
- `ItemTag` (GameplayTag) — unique identifier, must be registered in `DA_GameTagRegistry`
|
||||
- `DisplayName`, `Description` (FText) — player-facing text
|
||||
- `Icon` (Texture2D soft reference) — UI icon
|
||||
- `WorldMesh` (StaticMesh soft reference) — 3D mesh when dropped in world
|
||||
@@ -361,7 +361,7 @@ MainMenu → Loading → InGame ⇄ Paused
|
||||
|
||||
13. DA_ItemData assets are loaded on demand ← Asset Manager async loads
|
||||
14. FL_GameUtilities calls available immediately ← Static library
|
||||
15. GI_GameTagRegistry.OnAssetLoaded() ← Fires when data asset loads
|
||||
15. DA_GameTagRegistry loaded by Asset Manager ← Fires when data asset loads (no native OnAssetLoaded in BP)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -385,7 +385,7 @@ MainMenu → Loading → InGame ⇄ Paused
|
||||
| `GI_GameFramework` | GamePhase, session flags | Server sets; clients read via replicated dispatcher |
|
||||
| `GM_CoreGameMode` | Player spawning, chapter transitions, death routing | Server-only (extends replicated GameMode) |
|
||||
| `GS_CoreGameState` | Shared session state bus | **Fully replicated** — 5 vars with OnRep handlers |
|
||||
| `GI_GameTagRegistry` | Tag documentation | Read-only config — identical on all clients |
|
||||
| `DA_GameTagRegistry` | Tag documentation | Read-only config — identical on all clients |
|
||||
| `FL_GameUtilities` | Static utilities | No state — callable from any side |
|
||||
| `I_InterfaceLibrary` | Communication contracts | Interface calls work on any side; mutators must check authority |
|
||||
| `DA_ItemData` | Item definitions | Read-only Data Asset — identical on all clients |
|
||||
|
||||
Reference in New Issue
Block a user