# BPC_DocumentArchiveSystem — Document Archive System **Parent Class:** `ActorComponent` **Category:** Inventory **Target UE Version:** 5.5–5.7 **Build Phase:** 3 — Inventory ## 1. Overview `BPC_DocumentArchiveSystem` manages collected documents — notes, letters, audio logs, data files. Tracks read/unread status, organizes by category, and provides query functions for UI and narrative systems. ## 2. Variables | Variable | Type | Description | |----------|------|-------------| | `CollectedDocuments` | `TArray` | All collected documents | | `DocumentCategories` | `TArray` | Notes, Letters, Audio, Data, Photos | | `bShowUnreadBadge` | `bool` | Highlight unread documents | | `UnreadCount` | `int32` | Total unread documents | ## 3. Functions | Function | Description | |----------|-------------| | `AddDocument` | Adds a document to the archive | | `MarkAsRead` | Marks a document as read | | `MarkAllAsRead` | Marks all as read | | `GetDocumentsByCategory` | Returns filtered list | | `GetUnreadCount` | Returns unread count | | `HasDocument` | Checks if document is collected | ## 4. Event Dispatchers | Dispatcher | Payload | Description | |------------|---------|-------------| | `OnDocumentCollected` | `S_DocumentEntry Document` | New document added | | `OnDocumentRead` | `FGuid DocumentID` | Document marked read | | `OnAllDocumentsRead` | — | All documents read | ## 5. Dependencies | System | Relationship | |--------|--------------| | `BPC_InventorySystem` | Documents as inventory items | | `WBP_JournalDocumentViewer` | UI for viewing documents | | `BPC_LoreUnlockSystem` | Lore document triggers | ## 6. Reuse Notes - Documents are inventory items with `E_ItemCategory = Document`