Files
loneseDocument/Plugins/Item/_relationships.md
meishibiezb 29a3f77908 init
2026-06-04 21:44:13 +08:00

28 lines
1.8 KiB
Markdown

# Item 插件依赖关系
## 文件间引用关系
| 源文件 | 引用方式 | 目标文件 | 目标单位 |
|--------|---------|---------|---------|
| ItemContainer.cpp | #include | ItemFactory.h | ItemFactory |
| DefaultContainer.cpp | #include | ItemRegistrySubsystem.h | UItemRegistrySubsystem |
| DefaultContainer.cpp | #include | ItemViewFactory.h | FItemViewFactory |
| DefaultContainer.cpp | #include | ItemFactory.h | ItemFactory |
| DefaultContainer.h | #include | ItemContainer.h | IItemContainer |
| Inventory.h | #include | ItemContainer.h | IItemContainer |
| ItemViewFactory.cpp | #include | ItemRegistrySubsystem.h | UItemRegistrySubsystem |
| ItemViewFactory.cpp | #include | ItemFactory.h | ItemFactory |
| ItemViewFactory.cpp | #include | ItemContainer.h | IItemContainer |
| ItemViewFactory.cpp | #include | ItemViewStrategy.h | IItemViewStrategy |
| ItemViewFactory.h | forward-declare | (header-only) | FItemView, FItemInstance, FItemDef, UItemRegistrySubsystem |
| ItemRegistrySubsystem.cpp | #include | ItemFactory.h | ItemFactory |
| ItemRegistrySubsystem.cpp | #include | ItemRegistrySettings.h | UItemRegistrySettings |
## 关键依赖链
1. Item Creation: UItemRegistrySettings -> UItemRegistrySubsystem::Initialize -> ItemFactory::CreateItemInstance -> FItemInstance -> IItemContainer::InjectPayload -> UItemTracer
2. Item View: UDefaultContainer::GetItemViews -> FItemViewFactory::CreateView -> UItemRegistrySubsystem::GetViewStrategy -> IItemViewStrategy::GetPropertyText -> FItemView
3. Item Movement: IItemContainer::MoveItem -> InjectPayload (NVI) -> UItemTracer::SetItemLocation -> OnItemMoved delegate
4. Blueprint Inventory: IInventory::RequestMoveItem -> IInventory::ReceiveItem -> IItemContainer::InjectPayload
5. Item Lookup: UDefaultContainer::CreateItem -> UItemRegistrySubsystem::GetItemDef -> FItemDef -> ItemFactory::CreateItemInstance