28 lines
1.8 KiB
Markdown
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
|