# BPC_JournalSystem — Journal System **Parent Class:** `ActorComponent` **Category:** Inventory **Target UE Version:** 5.5–5.7 **Build Phase:** 3 — Inventory ## 1. Overview `BPC_JournalSystem` manages the player journal — tracking discovered entries, quest notes, character bios, and lore entries. Provides query functions for UI display and narrative progression tracking. ## 2. Variables | Variable | Type | Description | |----------|------|-------------| | `JournalEntries` | `TArray` | All journal entries | | `EntryCategories` | `TArray` | Quest, Character, Lore, Notes, Tips | | `UnreadCount` | `int32` | Total unread entries | | `bAutoAddOnDiscovery` | `bool` | Auto-add entries on narrative flag | ## 3. Functions | Function | Description | |----------|-------------| | `AddJournalEntry` | Adds new entry | | `MarkAsRead` | Marks entry read | | `GetEntriesByCategory` | Returns filtered entries | | `HasEntry` | Checks if entry exists | | `GetUnreadCount` | Returns unread count | ## 4. Event Dispatchers | Dispatcher | Payload | Description | |------------|---------|-------------| | `OnJournalEntryAdded` | `S_JournalEntry Entry` | New entry discovered | | `OnJournalEntryRead` | `FGuid EntryID` | Entry marked read | ## 5. Dependencies | System | Relationship | |--------|--------------| | `BPC_NarrativeStateSystem` | Narrative-driven journal entries | | `WBP_JournalDocumentViewer` | UI display | ## 6. Reuse Notes - Journal entries are narrative-gated via gameplay tags