init
This commit is contained in:
27
Plugins/Item/_relationships.md
Normal file
27
Plugins/Item/_relationships.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user