Refactor Gameplay Tags: Split DT_ProjectTags.csv into 11 per-category Data Tables
- Removed DT_ProjectTags.csv and migrated tags into separate Data Tables: - DT_Tags_Player.csv (35 tags) - DT_Tags_Interaction.csv (37 tags) - DT_Tags_Item.csv (28 tags) - DT_Tags_Narrative.csv (55 tags) - DT_Tags_AI.csv (24 tags) - DT_Tags_Save.csv (25 tags) - DT_Tags_Environment.csv (35 tags) - DT_Tags_Combat.csv (28 tags) - DT_Tags_State.csv (43 tags) - DT_Tags_Audio.csv (29 tags) - DT_Tags_Achievement.csv (22 tags) - Updated INDEX.md to reflect new structure and deprecated DT_ProjectTags.csv. - Enhanced documentation in 01-core-foundation.md regarding tag-driven architecture.
This commit is contained in:
@@ -392,6 +392,8 @@ MainMenu → Loading → InGame ⇄ Paused
|
||||
|
||||
### Key Patterns
|
||||
- **GS_CoreGameState as Replication Hub:** All shared session state (chapter, phase, objectives, encounter status) writes through GS_CoreGameState which auto-replicates to all clients via OnRep → dispatcher.
|
||||
- **Tag-Driven Everything:** No booleans, no strings. All state is GameplayTags compared via `HasTag()`/`MatchesTag()`. Tags are split across **11 per-category Data Tables** (`DT_Tags_Player`, `DT_Tags_Interaction`, etc.) registered in Project Settings → Gameplay Tags.
|
||||
- **DA_GameTagRegistry** uses an `Array<Data Table>` to iterate all tables for validation and enumeration. The engine's `UGameplayTagsManager` merges them automatically at runtime.
|
||||
- **GamePhase transitions are server-authoritative:** `SetGamePhase()` checks `HasAuthority()`. Clients receive phase changes via `OnRep_GamePhase` → `OnGamePhaseChanged` dispatcher.
|
||||
- **Interface calls route through server:** `I_Interactable.Execute_OnInteract` must be called server-side. Clients call `Server_Interact` RPC → server validates → calls interface.
|
||||
- **Data Assets are client-ready:** All `DA_*` assets load identically on all instances from disk. No replication needed.
|
||||
|
||||
Reference in New Issue
Block a user